[ https://issues.apache.org/jira/browse/BEAM-2303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16027785#comment-16027785 ]
Arvid Heise commented on BEAM-2303: ----------------------------------- It probably needs similarly be implemented in AvroIO. > Add SpecificData to AvroCoder > ----------------------------- > > Key: BEAM-2303 > URL: https://issues.apache.org/jira/browse/BEAM-2303 > Project: Beam > Issue Type: Improvement > Components: sdk-java-core > Affects Versions: 2.1.0 > Reporter: Arvid Heise > Assignee: Davor Bonaci > > The AvroCoder currently supports GenericData and ReflectData, but not > SpecificData. > It should relatively easy to incorporate it by expanding the logic while > constructing the Reader and Writer by also checking if the type implements > the SpecificRecord interface. It would greatly speed up (de-)serialization of > Avro-generated java classes. > {code} > return myCoder.getType().equals(GenericRecord.class) > ? new GenericDatumReader<T>(myCoder.getSchema()) > : new ReflectDatumReader<T>( > myCoder.getSchema(), myCoder.getSchema(), > myCoder.reflectData.get()); > {code} > should be > {code} > if (myCoder.getType().equals(GenericRecord.class)) { > return new > GenericDatumReader<T>(myCoder.getSchema()); > } > if > (SpecificRecord.class.isAssignableFrom(myCoder.getType())) { > return new > SpecificDatumReader<T>(myCoder.getType()); > } > return new ReflectDatumReader<T>( > myCoder.getSchema(), myCoder.getSchema(), > myCoder.reflectData.get()); > {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346)