Avro
Avro serializes data using a schema. A record is encoded in schema field order. An object container file includes its writer schema and blocks of records; an individual event needs an agreed way to identify its writer schema and message boundaries.
Reading can resolve a writer schema against a different reader schema. If the reader expects a field absent from the writer, its declared default supplies the value. Without that default, resolution fails. A nullable type alone does not create a default.
An existing null is different from an absent field. A reader default does not replace a null already encoded for that field. Test both cases, along with supported aliases and type promotions, when deploying a schema change.
Avro suits record processing but does not provide Parquet-style column chunks. Keep record identity, units, and compatibility rules in the contract; valid schema resolution cannot detect an unannounced unit change.
See Data Formats: Parquet, ORC, Avro, and Arrow for worked examples.
Reference: Official format documentation.
Discover more from Insightful Data Lab
Subscribe to get the latest posts sent to your email.
