【发布时间】:2017-09-13 06:13:30
【问题描述】:
如果我运行 Kafka Connect Sink,我指定一个.properties 输入文件,该文件指定一个partitioner.class,例如FieldPartitioner,它可以根据partition.field.name 中指定的记录字段进行分区。
那么,如果我想要两级分区怎么办?例如,我想在顶层按日期时间分区,然后按记录字段进行子分区?还是简单地按两个字段划分?在 Spark 中,这实际上很常见。
基于属性配置文件格式的结构,我认为这是不允许的。这个假设正确吗?
【问题讨论】:
-
运气好吗?
-
是的,我编写了自己的分区器类并在生产中使用了一个小插件。 Confluent 平台最近添加了一个支持多个字段的分区器类和一个提供完整日期时间支持的单独的分区器类,但如果你想要两者都做,你仍然需要一个自定义插件。这似乎是一个非常常见的情况,所以我很惊讶 Confluent 没有更好地解决这个问题。不过我习惯使用自定义插件。
标签: apache-kafka apache-kafka-connect