[ https://issues.apache.org/jira/browse/BEAM-233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15269199#comment-15269199 ]
Kenneth Knowles commented on BEAM-233: -------------------------------------- I should also note two other options: # It is probably pretty easy to just do {{registery.registerCoder(Foo.class, AvroCoder.of(Foo.class))}} # The default [fallback CoderProvider|https://github.com/apache/incubator-beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/coders/CoderRegistry.java#L87] tries {{ProtoCoder}} followed by {{SerializableCoder}}. I don't recall the reason we did not put {{AvroCoder}} in the list, but it could be revisited. > Make Registering Avro Specific Records Easier > --------------------------------------------- > > Key: BEAM-233 > URL: https://issues.apache.org/jira/browse/BEAM-233 > Project: Beam > Issue Type: New Feature > Components: sdk-java-core > Reporter: Jesse Anderson > Labels: starter > > There should be a helper method to make it easier to register Avro specific > record classes. This will be the most common type that needs to be > registered. The code would look something like: > {code:java} > public class AvroHelper { > public static void registerAvro(Pipeline p, Class<? extends > SpecificRecordBase> clazz) { > p.getCoderRegistry().registerCoder(clazz, new CoderFactory() { > @Override > public Coder<?> create(List<? extends Coder<?>> componentCoders) { > return AvroCoder.of(clazz); > } > @Override > public List<Object> getInstanceComponents(Object value) { > return null; > } > }); > } > } > {code} > With usage: > {code:java} > Pipeline p = Pipeline.create(options); > > AvroHelper.registerAvro(p, LogEntry.class); > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)