Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 如何从ApacheNIFI流在汇合模式注册表中自动保存Avro模式?_Apache Kafka_Apache Nifi_Avro_Confluent Platform_Confluent Schema Registry - Fatal编程技术网

Apache kafka 如何从ApacheNIFI流在汇合模式注册表中自动保存Avro模式?

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

如何从ApacheNIFI流在汇合模式注册表中自动保存Avro模式

这基本上就是问题所在。 我没有找到从NiFi流自动将记录的Avro模式存储在合流模式注册表中的方法。可以灵活地读取和填充消息,引用汇合模式注册表中的模式,但应该有一种在注册表中自动创建一个的方法,而不是要求在NiFi流开始之前预先初始化汇合模式注册表

更新 以下是我当前的流程:

我正在使用
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配置验证不会通过这种组合