Apache nifi 使用JSONTERREADER在ConsumerKafCareRecord中设置schema.name
我正试图使用Apache nifi 使用JSONTERREADER在ConsumerKafCareRecord中设置schema.name,apache-nifi,Apache Nifi,我正试图使用ConsumerKafkaRecord处理器和JsonTreeReader作为读卡器来阅读卡夫卡 我需要将schema.name设置为我的AvroRegistrycontoller服务器中的架构名称。 但是,在从卡夫卡那里读取数据之前,我该怎么做呢 我还尝试将schema.name设置为静态值,甚至尝试将读取器中的schema.text属性(策略设置为readschema.text)设置为原始模式json,它仍然出错,抱怨无法在流文件中找到schema.name 我将如何使用Cons
ConsumerKafkaRecord
处理器和JsonTreeReader
作为读卡器来阅读卡夫卡
我需要将schema.name
设置为我的AvroRegistry
contoller服务器中的架构名称。但是,在从卡夫卡那里读取数据之前,我该怎么做呢 我还尝试将
schema.name
设置为静态值,甚至尝试将读取器中的schema.text
属性(策略设置为readschema.text
)设置为原始模式json,它仍然出错,抱怨无法在流文件中找到schema.name
我将如何使用
ConsumerKafCareRecord
和JsonTreeReader
?通常,如果您有一个具有“用户架构名称”的读取器,那么“架构名称”默认为“${Schema.Name}”,这意味着从传入流文件的属性中获取架构名称,该属性名为“Schema.Name”
由于ConsumerKafkaRecord(以及所有其他Consumer Kafka处理器)都是源处理器,因此没有带有属性的传入流文件,因此您不能引用${schema.name}。您必须将JSONTERREADER中的“Schema Name”设置为实际的Schema Name,而不是动态值。您使用的是哪个版本的NiFi?另外,JsonTreeReader的模式访问策略设置是什么?它应该匹配您希望从何处获取架构,因此“使用架构名称”将使用架构名称属性(和注册表),“使用架构文本”将使用架构文本属性,等等。