Skip to main content

AvroReader

描述:

解析Avro数据并返回每个Avro记录作为单独的记录对象。Avro数据可以包含Schema本身或者可以从<Schema访问策略>设置提供的方法进行提取。

标签:

avro, parse, record, row, reader, delimited, comma, separated, values, 记录, 解析

参数:

如下列表中,必填参数则标识为加粗. 其他未加粗参数,则表示为可选参数。表中同时提到参数默认值设置, 并且 参数还支持 表达式语言.

名字默认值允许值列表描述
Schema访问策略使用内置的Avro Schema
- 使用 'Schema名字' 属性Schema的名字通过&#39;Schema名字&#39;属性指定。通过Schema名字来从Schema注册服务中获取相应的Schema。
- 使用 'Schema内容' 属性通过指定 &#39;Schema内容&#39; 属性提供的自定义Schema内容。无论是否支持表达式,其Schema内容必须提供有效的Avro Schema。
- HWX Schema引用属性数据流包含3个用于从Schema注册的属性: &#39;schema.identifier&#39;, &#39;schema.version&#39;, 和 &#39;schema.protocol.version&#39;
- HWX Schema编码内容引用数据流的内容中包含了引用Schema注册服务的Schema, 引用由&#39;协议版本&#39;的单字符以及8位长度的Schema Id,和4位Schema版本信息组成,用于Hortonworks Schema注册的序列化和反序列化,可从https://github.com/hortonworks/registry中了解更多。
- Confluent Schema编码内容引用数据流的内容中包含了引用Schema注册服务的Schema,引用由一个单&quot;魔法字符&quot;和4位Schema id名组成,详细参加 http://docs.confluent.io/current/schema-registry/docs/serializer-formatter.html. 支持Confluent Schema注册的3.2.x版本。
- 使用内置的Avro Schema使用数据流的内容中包含的内置Avro Schema
指定如何从数据中获得Schema信息
Schema注册服务控制器服务API:
SchemaRegistry
实现:
AvroSchemaRegistry
ConfluentSchemaRegistry
HortonworksSchemaRegistry
指定Schema注册服务
Schema名字${schema.name}指定从Schema注册服务中获取相应Schema的名字

支持表达式语言 (支持流属性和变量)
Schema版本指定从Schema注册服务中获取相应Schema的版本,如果未指定,则表示最新版本的Schema

支持表达式语言 (支持流属性和变量)
Schema分支当从Schema注册服务中获取相应Schema时,需指定的Schema分支名字。如果指定的<Schema注册服务>不支持分支管理,则该参数将被忽略。

支持表达式语言 (支持流属性和变量)
Schema内容${avro.schema}Avro格式的Schema内容

支持表达式语言 (支持流属性和变量)
Cache Size1000Specifies how many Schemas should be cached

状态管理:

该组件不保存状态。

限制:

该组件没有限制

系统资源考量:

未提供。