Avro数据格式

Data Collector可以读取和写入Avro数据。

读取Avro数据

读取Avro数据时,基于文件和对象的源端(例如Directory和Amazon S3源端)会为已处理的文件或对象中的每个Avro记录生成一个Data Collector记录。

基于消息的源端,例如Kafka Consumer或TCP Server的源端,会为每个已处理的消息生成一个Data Collector记录。

读取Avro数据的处理器将生成记录,如处理器概述中所述。

生成的记录avroSchema 记录头属性中包括Avro模式 。它们还为每个Decimal字段包括一个 precision和 scale 字段属性。

您可以将大多数阶段配置为使用存储在以下位置之一中的Avro模式:

  • 一个avroSchema记录头属性
  • 阶段配置属性
  • Confluent Schema Registry

某些阶段需要将Avro模式存储在特定位置。

某些阶段无需额外配置即可读取由Avro支持的压缩编解码器压缩的数据您可以配置一些阶段来读取其他编解码器压缩的数据。

有关每个阶段如何读取Avro数据的详细信息,请参阅阶段文档中的“数据格式”。有关读取Avro数据的阶段的列表,请参见按阶段显示数据格式。

写入Avro数据

写入Avro数据时,目标端和处理器将根据Avro模式写入数据。Avro模式可以位于以下位置之一:

  • 一个avroSchema记录头属性
  • 阶段配置属性
  • Confluent Schema Registry
提示:必要时,可以使用模式生成器处理器生成Avro模式,并将该模式​​写入avroSchema记录头属性。

某些阶段会在输出中自动包含Avro模式。可以将其他阶段配置为在输出中包括Avro模式。您可以使用Avro支持的压缩编解码器压缩输出数据。

有关每个阶段如何写入Avro数据的详细信息,请参阅目标端文档中的“数据格式”。有关写入Avro数据的阶段的列表,请参见按阶段显示数据格式。