I'm new to Avro. The official documentation indicates that there are two possible approaches to using avro;
With code generation - here classes are auto-generated from avro schema files by the avro compiler. These classes are then used in the application code.
Without code generation - the schemas are directly parsed in the application. Instead of using auto-generated classes (as in the first approach), the application creates
GenericRecord
objects instead.
Question
- What are the pros and cons of each approach (eg: in terms of performance, ease of writing the application code, etc.?
Thanks in advance.