一、在使用nifi的过程中会使用到遇到avro schema、avro data、avroReader、avroWriter等,所以本节课和大家一起学习下avro相关知识。

二、什么是Avro
Apache Avro是hadoop中的一个子项目,也是一个数据序列化系统,其数据最终以二进制格式,采用行式存储的方式进行存储。
三、什么是avro schema
Avro依赖"schema"(模式)来实现数据结构的定义,schema通过json对象来进行描述表示(类似于java代码中的bean类),具体表现为:
- 一个json字符串命名一个定义的类型
- 一个json对象,其格式为`{"type":"typeName" ...attributes...}`,其中`typeName`为原始类型名称或复杂类型名称。
- 一个json数组,表示嵌入类型的联合
schema中的类型由原始类型(也就是基本类型)(null、boolean、int、long、float、double、bytes和string)和复杂类型(record、enum、array、map、union和fixed)组成。
1、原始类型
原始类型包括如下几种:
- null:没有值
- boolean:布尔类型的值
- int:32位整形
- long:64位整形
- float:32位浮点
- double:64位浮点
- bytes:8位无符号类型
- string:unicode字符集序列
原始类型没有指定的属性值,原始类型的名称也就是定义的类型的名称,因此

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



