Apache kafka 如何从ApacheNIFI流在汇合模式注册表中自动保存Avro模式?
如何从ApacheNIFI流在汇合模式注册表中自动保存Avro模式 这基本上就是问题所在。 我没有找到从NiFi流自动将记录的Avro模式存储在合流模式注册表中的方法。可以灵活地读取和填充消息,引用汇合模式注册表中的模式,但应该有一种在注册表中自动创建一个的方法,而不是要求在NiFi流开始之前预先初始化汇合模式注册表 更新 以下是我当前的流程: 我正在使用Apache kafka 如何从ApacheNIFI流在汇合模式注册表中自动保存Avro模式?,apache-kafka,apache-nifi,avro,confluent-platform,confluent-schema-registry,Apache Kafka,Apache Nifi,Avro,Confluent Platform,Confluent Schema Registry,如何从ApacheNIFI流在汇合模式注册表中自动保存Avro模式 这基本上就是问题所在。 我没有找到从NiFi流自动将记录的Avro模式存储在合流模式注册表中的方法。可以灵活地读取和填充消息,引用汇合模式注册表中的模式,但应该有一种在注册表中自动创建一个的方法,而不是要求在NiFi流开始之前预先初始化汇合模式注册表 更新 以下是我当前的流程: 我正在使用QueryDatabaseTableRecordprocessor(1.10版)从Postgres表中读取数据,并使用PublishKafk
QueryDatabaseTableRecord
processor(1.10版)从Postgres表中读取数据,并使用PublishKafkarRecord\u 2\u 0
(1.10.0版)将[新]记录发布到卡夫卡主题中
我想以Avro格式发布到Kafka,在Confluent schema注册表中存储(并传递)Avro模式(这在我的NiFi设置的其他地方工作得很好)
为此,我在QueryDatabaseTableRecord
处理器的“Record Writer”属性中使用了AvroRecordSetWriter
,并具有以下属性:
PublishKafka记录处理器配置为从输入消息读取Avro模式(使用汇合模式注册表,模式不会嵌入到每个流文件中),并使用与QueryDatabaseTableRecord
处理器相同的AvroRecordSetWriter
写入Kafka
基本上就是这样
尝试将第一个AvroRecordSetWriter
替换为嵌入架构的,希望第二个AvroRecordSetWriter
可以在发布时在合流架构注册表中自动生成架构,因为我不想用嵌入的Avro架构填充每条消息
更新
我试着按照下面评论中的建议来做
有了它,我试图使对汇合模式注册表的第一次访问成为链中的最后一步。不幸的是,我的尝试没有成功。唯一有效的选项是我在这个问题中描述的初始值,它需要在注册表中预先/预先设置一个模式才能工作。
我尝试过的其他两个案例都以例外告终:
org.apache.nifi.schema.access.SchemaNotFoundException: Cannot write Confluent Schema Registry Reference because the Schema Identifier is not known
请注意,我不能在最后一个编写器的模式访问中使用“从记录继承模式”,因为我得到的组合无效,并且NiFi配置验证不会通过这种组合