包含来自Kafka消息的密钥和连接接收器HDFS连接器

时间:2019-05-29 21:10:12

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

我正在使用Kafka connect HDFS接收器连接器从kafka写入HDFS,它工作正常。我的消息如下:

key: my-key
value: {
"name": "helen"
}

我的用例是需要将消息的密钥附加到发送给HDFS的事件上。

问题是密钥没有出现在值有效载荷中,因此我无法使用:

"partitioner.class": 
"io.confluent.connect.hdfs.partitioner.FieldPartitioner", 
"partition.field.name": "key", 

我的问题是如何将密钥添加到发送到HDFS的消息中,或者如何根据密钥进行分区?

1 个答案:

答案 0 :(得分:0)

开箱即用,您不能(S3 Connect也是如此),仅基于代码的编写方式,而不是Connect框架的限制

至少,您需要构建此SMT并将其添加到Connect工作者,这将在写入存储之前将“键”,主题和分区全部“移动”到Connect记录的“值”中。 / p>

https://github.com/jcustenborder/kafka-connect-transform-archive