pc.getUniqueName()); checkArgument( components.containsCoders(pc.getCoderId()), "%s: PCollection %s uses unknown coder %s", context, pcollectionId, pc.getCoderId()); checkArgument( components.containsWindowingStrategies(pc.getWindowingStrategyId()),
@Test public void testEncodeDecodeFields() throws Exception { SdkComponents sdkComponents = SdkComponents.create(); sdkComponents.registerEnvironment(Environments.createDockerEnvironment("java")); RunnerApi.PCollection protoCollection = PCollectionTranslation.toProto(testCollection, sdkComponents); RehydratedComponents protoComponents = RehydratedComponents.forComponents(sdkComponents.toComponents()); Coder<?> decodedCoder = protoComponents.getCoder(protoCollection.getCoderId()); WindowingStrategy<?, ?> decodedStrategy = protoComponents.getWindowingStrategy(protoCollection.getWindowingStrategyId()); IsBounded decodedIsBounded = PCollectionTranslation.isBounded(protoCollection); assertThat(decodedCoder, equalTo(testCollection.getCoder())); assertThat(decodedStrategy, equalTo(testCollection.getWindowingStrategy().fixDefaults())); assertThat(decodedIsBounded, equalTo(testCollection.isBounded())); }
Coder inputCoder = components.getCodersOrThrow(input.getCoderId()); KvCoderComponents kvComponents = ModelCoders.getKvCoderComponents(inputCoder); String windowCoderId =
Coder inputCoder = components.getCodersOrThrow(input.getCoderId()); KvCoderComponents kvComponents = ModelCoders.getKvCoderComponents(inputCoder); String windowCoderId =
ModelCoders.KvCoderComponents timerKvCoderComponents = ModelCoders.getKvCoderComponents( components.getCodersOrThrow(timerPCollection.getCoderId())); Coder<?> timerKeyCoder = CoderTranslation.fromProto(
public static PCollection<?> fromProto( RunnerApi.PCollection pCollection, Pipeline pipeline, RehydratedComponents components) throws IOException { Coder<?> coder = components.getCoder(pCollection.getCoderId()); return PCollection.createPrimitiveOutputInternal( pipeline, components.getWindowingStrategy(pCollection.getWindowingStrategyId()), fromProto(pCollection.getIsBounded()), (Coder) coder); }