[ 
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)

Reply via email to