Hi Jean-Baptiste, I am using the standard TableRowJsonCoder of the SDK version 0.5.0. According to the official Javadoc [0] it looks like the description for encode() and decode() has even been copied from the Coder interface itself, am I missing something?
Thank you Tobi https://beam.apache.org/documentation/sdks/javadoc/0.5.0/org/apache/beam/sdk/coders/TableRowJsonCoder.html On 21 Feb 2017, at 13:06, Jean-Baptiste Onofré <[email protected]<mailto:[email protected]>> wrote: Hi Tobias, PubusbIO accepts .withCoder(Coder<T> coder) with T is the type of the PCollection elements (PCollection<T>). So, you TableRowJsonCoder should be a class implementing Coder interface with Type T. Is it the case ? Thanks, Regards JB On 02/21/2017 12:03 PM, Tobias Feldhaus wrote: Hi, According to this commit [0] it seems to me that there were some changes in the way the Coder interface is being used. Before switching from the Dataflow SDK 1.9 this code was working for me (I already adjusted the way PubSubIO is accessed): .apply("WriteToPubSub", PubsubIO.write() .topic(topic) .withCoder(TableRowJsonCoder.of()) .timestampLabel("ts")); Now withCoder(Coder<T> coder) no longer accepts the instance of TableRowJsonCoder. I have checked that the TableRowJsonCoder is still registered as a StandardCoder [1] in the current master - how is it being used now? Thank you for all your effort, Tobi [0] https://github.com/apache/beam/commit/7b98fa08d14e8121e8885f00a9a9a878b73f81a6 [1] https://github.com/apache/beam/blob/d9657ffc37490b063835672e0b5287b4d18aba96/sdks/java/core/src/main/java/org/apache/beam/sdk/coders/CoderRegistry.java#L94 -- Jean-Baptiste Onofré [email protected]<mailto:[email protected]> http://blog.nanthrax.net Talend - http://www.talend.com
