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