I believe that today all coders must be fully defined for all arguments to expand(). For the outputs, the ParDo outputting should be agnostic, no? The constraints on setCoder(...) are hoped to be enough to make sure nothing breaks.
Kenn On Fri, Jan 11, 2019 at 10:41 AM Reuven Lax <[email protected]> wrote: > Hi, > > I want to be able to write a verification phase that asserts that input > and output schemas for all ParDos match up properly. The only place I can > see to do that today is in expand(), however this does not work as Coders > may not be fully known when expand is called (remember Schemas are > implemented as a special type of Coder today). For example: > > p.apply(ParDo.of(MyDoFn)) > .SetCoder(FooCoder()); > > FooCoder is not known yet when expand is called for the ParDo. > > Is there any place in Beam today where I could set up such a verification > pass? > > Reuven >
