Avro(Avro),工学-控制科学与工程-智能控制-智能控制-模糊控制-大数据,基于二进制数据传输高性能的中间件,是Hadoop软件平台中的一个子项目,也是Apache软件基金会中一个独立的项目。在Hadoop软件平台的其他项目中,例如HBase数据库和Hive数据仓库工具的客户端与服务端的数据传输也采用了这个工具。Avro是一个数据序列化的系统。Avro可以将数据结构或对象转化成便于存储或传输的格式。Avro设计之初就用来支持数据密集型应用,适合于远程或本地大规模数据的存储和交换。Avro支持跨编程语言实现,类似于Thrift软件,但是Avro的显著特征是:Avro依赖于模式,动态加载相关数据的模式,Avro数据的读写操作很频繁,而这些操作使用的都是模式,这样就减少写入每个数据文件的开销,使得序列化快速而又轻巧,这种数据及其模式的自我描述方便了动态脚本语言的使用。当Avro数据存储到文件中时,它的模式也随之存储,这样任何程序都可以对文件进行处理。如果读取数据时使用的模式与写入数据时使用的模式不同,也很容易解决,因为读取和写入的模式都是已知的。