Hi Beam,
We have a use case when creating a pipeline, we want to replace the IO
read/write transform when testing using `pipeline.replaceAll(overrides)`.
However, we met some problems when doing tests:
1. Are there any ways we can avoid calling expand() of a transform when it
is going to be replaced? The reason we want to override a transform is
because that the expand() of this transform is somehow not available in
some situations. It seems not reasonable enough to call the expand() of the
originalTransform and then call the expand() of the overrideTransform again?
2. When trying to implement `PTransformOverrideFactory`, we realize that
the inputs are `TaggedPValue`, which can only make {Tuple, PCollection}
pairs. Then if we want to override a write transform whose output type is
`PDone`, what's the best way to implement this factory?
Thanks in advance for answers! This is quite important to our pipelines.
Thanks,
Yuhong