-
有没有办法从kafka主题中仅将特定事件类型吸收到HDFS,使用kafka connect HDFS连接器过滤其余类型?
-
我们可以根据某些键来隔离输入事件并写入不同的分区 . 这样特定键的值会转到特定的分区吗?
-
我们可以使用存储在模式注册表中的密钥来获取特定于特定密钥的avro格式数据主题中的值吗?如果我的理解需要清晰,请告诉我 .
If Kafka connect does not have this features can this be implemented by using kafka streams ?如果可以,请提供一些文档帮助 .
1 回答
Kafka Connect已经转换为操纵消息,但它不适用于过滤 . 这通常由Kafka Streams或KSQL完成
Confluent文档中提到的
FieldPartitioner
类执行此操作(警告:我认为它只执行顶级字段,而不是嵌套的JSON或Avro记录字段)我不明白这个问题,但默认情况下,HDFS Connect会在写入数据时忽略Kafka消息密钥,所以我要说不 .
Kafka数据不是由它分区的,这意味着如果你确实使用了DefaultPartioner而不是FieldPartitioner,那么所有密钥都将由Kafka分区落在单个文件系统路径中 . 只有这样,你才能通过密钥查询,而不是通过分区查询 . 例如使用Spark或Hive . 再次,这是默认行为 - 您可以使用转换,如前所述,将Kafka密钥添加到数据中,然后您可以通过它查询