首页 文章

Kafka Connect Sink Partitioning:子分区?

提问于
浏览
1

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

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

根据属性配置文件格式的结构,我假设不允许这样做 . 这个推定是否正确?

1 回答

  • 2

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

    目前还没有't a way to achieve this type of partitioning only with configuration. But it sounds useful. Also, I'我不确定你指的是哪种类型的接收器,但如果它与存储相关,你可能想要使用kafka-connect-storage-common repo中包含的分区器相关代码

相关问题