我正在使用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的消息中,或者如何根据密钥进行分区?
答案 0 :(得分:0)
开箱即用,您不能(S3 Connect也是如此),仅基于代码的编写方式,而不是Connect框架的限制
至少,您需要构建此SMT并将其添加到Connect工作者,这将在写入存储之前将“键”,主题和分区全部“移动”到Connect记录的“值”中。 / p>
https://github.com/jcustenborder/kafka-connect-transform-archive