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

如何使用Flink SQL通过通配符/正则创建读取多Kafka主题的表?

可以使用通配符创建表同时读取多个Kafka主题

完全可以在Flink SQL中通过主题通配符的方式,创建一张表同时读取t1.g1和t1.g2这类匹配通配符的Kafka主题。Flink的Kafka连接器原生支持通过主题正则表达式/通配符来订阅多个主题。

具体实现示例

你可以直接创建一张新表,将topic参数设置为通配符表达式t1.*,示例建表语句如下:

CREATE TABLE t1_all
(
    `id`    INT,
    `name`  STRING
)
WITH (
    'connector' = 'kafka',
    'topic' = 't1.*', -- 使用通配符匹配所有t1开头的主题
    'properties.auto.offset.reset' = 'earliest',
    'scan.startup.mode' = 'earliest-offset',
    -- 补充必要配置,如Kafka地址、数据格式等
    'properties.bootstrap.servers' = 'your-kafka-broker:9092',
    'format' = 'json' -- 根据实际数据格式调整
);

注意事项

  • 确保所有匹配通配符的主题(比如t1.g1、t1.g2)的数据结构完全一致,否则会出现解析错误或数据丢失的情况。
  • 若后续新增符合t1.*规则的主题,Flink会自动发现并开始消费这些新主题的消息(无需重启作业)。
  • scan.startup.mode参数会作用于所有匹配的主题,比如设置为earliest-offset时,会从所有匹配主题的最早偏移量开始消费。

内容的提问来源于stack exchange,提问作者Faisal Ahmed Siddiqui

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 21:17:11