Apache nifi 在apachenifi中使用AvroSchemaRegistry
我有5种不同的Apache nifi 在apachenifi中使用AvroSchemaRegistry,apache-nifi,Apache Nifi,我有5种不同的CSVReader控制器服务。除了架构文本(因为标题不同)和1CSVRecordSetWriter,它们的配置是相同的 我只想留下一个CSVReader并动态设置schema text。我读过有关AvroSchemaRegistry的文章,但我不清楚如何使用它 我是否应该创建5个不同的AvroSchemaRegistry控制器,其中包含两个属性:name和value? F.e.我想提出以下模式: { "type": "record",
CSVReader
控制器服务。除了架构文本
(因为标题不同)和1CSVRecordSetWriter
,它们的配置是相同的
我只想留下一个CSVReader
并动态设置schema text
。我读过有关AvroSchemaRegistry的文章,但我不清楚如何使用它
我是否应该创建5个不同的AvroSchemaRegistry
控制器,其中包含两个属性:name
和value
?
F.e.我想提出以下模式:
{
"type": "record",
"name": "campaigns",
"namespace": "common",
"fields": [
{"name": "campaign_name", "type": "string"},
{"name": "campaign_id", "type": "long"},
{"name": "date", "type" : {"type": "int", "logicalType" : "date"}}
]
}
我应该创建AvroSchemaRegistry
:
=活动李>名称
=上面的完整代码值
avroschemaregistry
控制器name
和value
之后,如何配置
CSVReader
和CSVRecordSetWriter
来使用这些模式?最后,我应该如何处理流文件?添加其他属性?什么类型?像这样配置您的流程(根据您的要求进行更改)
UpdateAttribute
用于派生/硬编码流文件特定架构的配置-ValidateRecord
配置以使用通用csv读取器并动态传递架构-CSVReader
控制器服务使用动态传递的架构并设置架构访问策略-如果您希望使用NiFi支持的架构注册表,请将所有架构放在注册表中,并为记录读取器/写入器设置
schema.name
和access strategy
属性,以便从注册表访问架构,但首先您需要在控制器服务中添加/配置架构注册表提供程序。我会尝试!请您也为控制器服务中的模式注册表提供简单的配置好吗?我不知道它应该是什么样子。