You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Kafka supervisor读取Kafka指定分区数据写入Druid

Druid Kafka Supervisor指定分区消费说明

是否支持仅读取指定分区?

Apache Druid的Kafka Supervisor原生支持仅消费指定Kafka分区,不需要读取整个topic的全量数据,该特性在0.16.0及以上版本可用。

配置方法

你只需要在摄入spec的ioConfig节点下添加partitionAssignments配置项即可,该配置项用于显式声明需要消费的分区ID和对应起始消费位置。

配置规则

  • partitionAssignments为对象类型,key为目标Kafka topic名称,value为分区配置数组
  • 每个分区配置包含两个必填参数:
    • partition:整数类型,对应你需要消费的Kafka分区ID
    • offset:消费起始位置,可填earliest(从分区最早有效消息开始消费)、latest(从分区最新写入的消息开始消费),也可直接指定具体的整数offset值

配置示例

{
  "type": "kafka",
  "spec": {
    "ioConfig": {
      "topic": "your_topic_name",
      "consumerProperties": {
        "bootstrap.servers": "your_kafka_address:9092",
        "group.id": "druid_consume_group"
      },
      "partitionAssignments": {
        "your_topic_name": [
          {
            "partition": 1,
            "offset": "latest"
          },
          {
            "partition": 3,
            "offset": "earliest"
          },
          {
            "partition": 5,
            "offset": 10086
          }
        ]
      },
      "taskCount": 3,
      "replicas": 1
    },
    // 其余tuningConfig、dataSchema等配置保持不变
  }
}

上面的示例配置指定了仅消费该topic的1、3、5三个分区,你可以根据自身业务需求调整分区ID和对应起始offset即可。

注意事项

  • 配置partitionAssignments后,Druid会关闭自动分区发现功能,后续该Kafka topic新增的分区不会被自动纳入消费范围,如需消费新分区需要手动更新spec添加对应配置
  • 修改partitionAssignments配置后,正在运行的supervisor任务会自动重启以应用新的分区规则

内容的提问来源于stack exchange,提问作者Shane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 00:15:03