加载中...

Apache Avro 是 Hadoop 之父 Doug Cutting 主导开发的数据序列化系统,2009 年进入 Apache,采用行式存储,以 JSON 定义模式(Schema),以紧凑二进制编码数据。
Avro 的核心思想是「模式与数据分离但同行」:写入时依据模式将字段按顺序编码,无需像 Protobuf 那样嵌入字段标签,因此体积更小;读取时结合写模式与读模式做解析,通过模式演进规则(增删带默认值的字段等)实现前后向兼容。Avro 容器文件在头部内嵌模式,数据可自描述;在消息系统中则常配合 Schema Registry,仅在消息中携带模式 ID。
Avro 是 Kafka 生态最常用的消息序列化格式之一,也用于 Hadoop 数据交换、RPC 以及 CDC 工具(如 Debezium)的数据编码。
优点是模式演进能力强、编码紧凑、支持动态解析;缺点是行式结构不适合分析型扫描,分析场景通常需转换为 Parquet 或 ORC。

登录 后参与讨论
暂无讨论,来发表第一条评论吧