Kafka Connect Sink Partitioning:Sub-Partitioning?

时间:2017-04-17 15:43:31

标签: apache-kafka apache-kafka-connect

如果我运行Kafka Connect Sink,我指定一个.properties输入文件,指定partitioner.class,例如FieldPartitioner,它可以根据{中指定的记录字段进行分区。 {1}}。

那么,如果我想要两级分区怎么办?例如,我想在顶层对日期时间进行分区,然后按记录字段进行子分区?或者只是按两个字段划分?在Spark中,这实际上很常见。

根据属性配置文件格式的结构,我认为这是不允许的。这个推定是否正确?

1 个答案:

答案 0 :(得分:2)

听起来你必须编写自己的实现Partitioner接口的分区类。它可以选择使用两类分区中的一种作为基类(可能是TimeBasedPartitionerFieldPartitioner),无论哪种功能都可以实现您想要实现的功能。

目前,只有配置才能实现此类分区。但这听起来很有用。此外,我不确定您指的是哪种类型的接收器,但如果它与存储相关,您可能希望使用kafka-connect-storage-common repo中包含的与分区程序相关的代码