Avro[http://avro.apache.org/]是一种与编程语言无关的序列化格式,Avro 数据通过与语言无关的JSON[todo ref]来描述schema,支持丰富的数据类型,包括整型,浮点数,链表等。数据被序列化成二进制文件或 JSON 文件,应用一般使用二进制格式。由于Avro序列化后的数据更加紧凑,因此比纯文本传输更加高效,能够用于RPC数据定义及实时数据传输。但是Avro将记录序列化成二进制数据时,是按行进行的,这导致Avro数据只能按行读取,不能满足历史数据分析中的按列读取需求,因此Avro一般只用于消息系统Pulsar,Kafka中。
Avro的一个设计初衷是用于Hadoop的RPC格式,因此Hadoop生态中应该有将其用于rpc的,todo investigate
网友评论