在kafka connect中按某个值过滤记录

Posted

技术标签:

【中文标题】在kafka connect中按某个值过滤记录【英文标题】:Filter the records by a certain value in kafka connect 【发布时间】:2020-05-27 15:14:56 【问题描述】:

我一直在尝试找到一种方法,在 debezium 源 sql 连接器中包含一个过滤器,该过滤器会丢弃具有特定值的记录。可以说,我有 JSON:“id”:0,“name”:“muj”,我想丢弃所有字段“name”值为“muj”的记录。有没有办法在不使用融合平台的情况下做到这一点?

【问题讨论】:

【参考方案1】:

您可以使用 Kafka Connect 转换的 filter 功能。过滤器功能允许包含或排除与谓词匹配的记录。请参阅transforms/filter 文档和示例。

【讨论】:

需要confluent hub客户端,这里不需要confluent @MujtabaFaizi 它没有。它只是一个 jar 文件,您可以从 confluent.io/hub/confluentinc/connect-transforms 下载并放置在连接器目录中。 @Muj 澄清一下,客户端所做的只是提供一种从 Confluent 站点下载和提取插件的方法,并以编程方式设置您自己的 Kafka Connect 安装。它不需要 Confluent Platform 的任何部分【参考方案2】:

有没有办法做到这一点而不必使用融合平台

Confluent 不是 Kafka 的特殊版本。他们所有的工具都可以与您自己的 Kafka 安装一起使用。

您可以单独使用 ksql 或 Kafka Streams,但 IMO,Debezium 不应该过滤任何内容,它旨在读取原始 CDC 事件。任何此类过滤都应在处理逻辑的下游完成

【讨论】:

以上是关于在kafka connect中按某个值过滤记录的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Kafka Connect S3 中解析记录头?

如何在 django 中按日期范围过滤记录?

kafka 消费者offset记录位置和方式

在视图中按布尔值过滤 Foreach

Kafka Connect JDBC Sink 连接器:如何删除没有 NULL 值的记录?

如何在 C# 字典中按值索引过滤项目?