kafka基于键连接读取值并写入hdfs

ycl3bljg  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(396)

有没有办法只接收来自kafka主题的特定事件类型到hdfs,并使用kafka connect hdfs连接器过滤其余类型?
我们是否可以基于某个键隔离输入事件并写入不同的分区。这样特定键的值就到了特定的分区?
我们可以使用schema registry中存储的键来获取特定于avro格式数据的特定键的主题中的值吗?如果我的理解需要澄清,请告诉我。
如果kafka connect没有此功能,是否可以使用kafka streams实现?如果可以,请提供一些文档帮助。

gc0ot86w

gc0ot86w1#

有没有办法只接收来自kafka主题的特定事件类型到hdfs,并使用kafka connect hdfs连接器过滤其余类型?
kafka connect有用于处理消息的转换,但它不是用于过滤的。这通常由kafka streams或ksql完成
我们是否可以根据某个键将输入事件隔离并写入不同的分区,以便特定键的值进入特定的分区?
这个 FieldPartitioner confluent文档中提到的类可以做到这一点(警告:我相信它只处理顶级字段,而不是嵌套的json或avro记录字段)
我们可以使用schema registry中存储的键来获取特定于avro格式数据的特定键的主题中的值吗?
我不明白这个问题,但是hdfs connect在默认情况下,在写入数据时会忽略kafka消息键,所以我要说不。
kafka数据不是按键索引的,而是按键进行分区的,这意味着如果您确实使用了defaultpartitioner而不是fieldpartitioner,那么所有键都将通过kafka分区到达单个文件系统路径。只有这样,您才能进行查询,而不是通过键,而是通过分区。例如使用Spark或Hive。同样,这是默认行为-您可以使用转换,如前所述,将kafka键添加到数据中,然后您可以通过它进行查询

相关问题