@Override public void validate() { source.validate(); }
@Override public final PCollection<T> expand(PBegin input) { source.validate(); return PCollection.createPrimitiveOutputInternal( input.getPipeline(), WindowingStrategy.globalDefault(), IsBounded.UNBOUNDED, source.getOutputCoder()); }
@Override public final PCollection<T> expand(PBegin input) { source.validate(); if (source.requiresDeduping()) { return Pipeline.applyTransform(input, new ReadWithIds<>(source)).apply(new Deduplicate<>()); } else { return Pipeline.applyTransform(input, new ReadWithIds<>(source)) .apply("StripIds", ParDo.of(new ValueWithRecordId.StripIdsDoFn<>())); } }