Robert_Crowe:

Hi Subhasish,


The problem seems to be in the way that you’re ingesting data.  Custom ExampleGens work differently than other custom components.  The BaseExampleGenExecutor defines an abstract method called GetInputSourceToExamplePTransform 2, which you should implement in order to ingest your data, and which should return a Beam PTransform 2.  For example, see in the Avro executor 2 how it implements GetInputSourceToExamplePTransform and defines _AvroToExample 2, which returns a PCollection 1.
It might be a bit confusing at first, since _AvroToExample is declared to return a PCollection, and GetInputSourceToExamplePTransform returns a PTransform, but notice that GetInputSourceToExamplePTransform returns _AvroToExample itself 2, and not the result of _AvroToExample. _AvroToExample is itself a PTransform, which produces a PCollection.