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.

Similar Posts

Questions, corrections, or additional insights?

This site uses Akismet to reduce spam. Learn how your comment data is processed.