如果我运行Kafka Connect Sink,我指定一个.properties
输入文件,指定partitioner.class
,例如FieldPartitioner
,它可以根据{中指定的记录字段进行分区。 {1}}。
那么,如果我想要两级分区怎么办?例如,我想在顶层对日期时间进行分区,然后按记录字段进行子分区?或者只是按两个字段划分?在Spark中,这实际上很常见。
根据属性配置文件格式的结构,我认为这是不允许的。这个推定是否正确?
答案 0 :(得分:2)
听起来你必须编写自己的实现Partitioner
接口的分区类。它可以选择使用两类分区中的一种作为基类(可能是TimeBasedPartitioner
或FieldPartitioner
),无论哪种功能都可以实现您想要实现的功能。
目前,只有配置才能实现此类分区。但这听起来很有用。此外,我不确定您指的是哪种类型的接收器,但如果它与存储相关,您可能希望使用kafka-connect-storage-common repo中包含的与分区程序相关的代码