Avro 是一种在 Apache Hadoop 项目中开发的数据序列化系统。它提供丰富的数据结构、紧凑快速的二进制数据格式、用于存储持久化数据的容器文件、远程过程调用 (RPC) 以及简单的动态语言集成。Avro 使用 JSON 定义数据类型和协议,并以紧凑的二进制格式序列化数据。其主要用途是在 Hadoop 中,用于数据序列化和数据交换服务。Avro 特别适用于需要模式演进(schema evolution)的应用程序,因为它将模式与数据一同存储。这使得读取器即使在数据写入后模式发生变化,也能处理数据。Avro 的模式演进能力,结合其高效的二进制格式,使其成为大数据环境中数据存储和交换的流行选择。它支持复杂数据类型,并且在数据读写方面都设计为具有高性能。Avro 文件常用于以分布式方式存储大型数据集。