Apache Avro Data Serialization

Apache Avro Data Serialization

github.com

1

About this website

Apache Avro is a data serialization system that provides rich data structures, a compact binary format, and a container file for persistent data storage. Created by Doug Cutting (the creator of Hadoop and Lucene) in 2009 as part of the Apache Hadoop project, Avro has become the standard serialization format for big data systems, used extensively in Apache Kafka, Hadoop MapReduce, Apache Hive, Apache Spark, Apache Flink, and data lake architectures. Key features include: schema-based serialization (every Avro dataset is associated with a JSON schema defining the data structure, enabling type safety and self-describing data), compact binary format (encoding data efficiently with variable-length integers and no field tags, producing smaller serialized output than Protocol Buffers and Thrift for many data patterns), schema evolution (supporting backward and forward compatibility through schema resolution rules, allowing producers and consumers to evolve schemas independently by adding, removing, or changing fields with default values), container file format (a file format storing sequences of Avro records with schema metadata and block-level compression via Deflate, Snappy, or zstd), dynamic typing (the schema is always stored alongside the data, allowing readers to parse data without prior knowledge of the schema or code generation), language-agnostic schema definition (schemas are defined in JSON, with code generation available for Java, C, C++, C#, Python, Ruby, PHP, Go, Swift, and Rust), map-reduce integration (Avro is the native serialization format for Hadoop, with built-in support for Avro input and output formats), and Avro RPC (a remote procedure call framework using Avro for both the transport protocol and data serialization).

Tags & Categories

Categories

Tags

Statistics

1
Views
0
Clicks
0
Like
0
Dislike

Comments

Log In to post a comment

No comments yet. Be the first!