在学习大数据过程中经常见到 avro,下面大概说下自己的理解:
1、 简介
Avro是Hadoop中的一个子项目,也是Apache中一个独立的项目,Avro是一个基于二进制数据传输高性能的中间件。在Hadoop的其他项目中例如HBase(Ref)和Hive(Ref)的Client端与服务端的数据传输也采用了这个工具。Avro是一个数据序列化的系统。Avro 可以将数据结构或对象转化成便于存储或传输的格式。Avro设计之初就用来支持数据密集型应用,适合于远程或本地大规模数据的存储和交换。
常用在现远程过程调用RPC中。
因为hadoop生态中都是集群,面临的是一个个机器之间的远程通讯,hadoop生态对远程通讯使用
RPC,而RPC之间相互传送数据时,就用到 apache的 avro这个工具,这个工具能把通讯的两端
的数据进行 高效大规模数据的存储和交换。
应用: flume使用avro source client 来将web日志log4j数据导入flume