Kafka Connect HDFS(Azure)保留Avro值和字符串键

时间:2019-04-01 13:49:01

标签: apache-kafka hdfs apache-kafka-connect

我已将Kafka Connect HDFS配置为可在Azure Datalake上运行,但是我只是注意到,键(字符串)并没有持久存在,只有Avro值存在。

考虑到这一点,我认为这是有道理的,因为我要在数据湖中应用的分区与键无关,并且我没有指定一些新的Avro Schema,它将键String合并到现有的Avro值模式中

现在,在运行connect-distributed.sh脚本时,我提供的配置中,我具有(以及其他配置)

...
key.converter=org.apache.kafka.connect.storage.StringConverter
value.converter=io.confluent.connect.avro.AvroConverter
value.converter.schema.registry.url=http://<ip>:<port>
...

但是在我使用curl设置的实际接收器连接器中,我只需将输出格式指定为

...
"format.class": "io.confluent.connect.hdfs.avro.AvroFormat"
...

因此连接器仅假定要写入Avro值。

所以我有两个问题。如何告诉连接器应将密钥和值一起保存为新Avro架构的一部分,以及在哪里定义该架构?

请注意,这是一个Azure HDInsight群集,因此不是Confluent Kafka解决方案(尽管我可以访问开源的Confluent代码,例如Kafka Connect HDFS)

0 个答案:

没有答案