如何在Kafka Connect BigQuery Sink Connector中排除特定Topic
Kafka Connect BigQuery Sink排除特定Topic的实现方案
优先方案:不修改原有正则表达式
不用改动现有正则,通过Kafka Connect的Filter转换实现精准排除:
- 在Sink Connector的配置中添加以下transforms规则,直接过滤掉目标Topic:
transforms=excludeTargetTopic transforms.excludeTargetTopic.type=org.apache.kafka.connect.transforms.Filter$Value transforms.excludeTargetTopic.filter.condition=!($topic == 'sourcename_sourcetype_dataset_products_history') transforms.excludeTargetTopic.filter.type=exclude
这个方法能保留原正则自动捕获新增同前缀Topic的能力,仅单独排除指定Topic,逻辑清晰且不影响其他Topic的匹配逻辑。
备选方案:修改正则表达式实现排除
如果必须通过正则实现排除,利用正则的负向零宽断言调整原有规则:
将原配置中的topics.regex修改为:
"sourcename_sourcetype_dataset_(?!products_history$).*"
规则说明:
(?!products_history$)是负向预查,确保当前位置后的内容不是完整的products_history($限定结尾,避免误排除带有products_history前缀的其他Topic)- 调整后的正则会匹配所有符合原前缀规则的Topic,唯独排除
sourcename_sourcetype_dataset_products_history。
内容的提问来源于stack exchange,提问作者Guy Gross
相关产品推荐
相关产品推荐

