筛选数据库行

Filtering rows of database

我想知道kafka平台是否适合做下面的工作。

我正在尝试获取包含多个表的完整数据库。一旦被 Kafka 摄取,我想根据条件过滤表行。

我认为使用 Kafka 流很容易做到这一点,但是被过滤器拒绝的消息会怎样?

如果以日期为例,将来可能会满足条件,那么是否有机会再次过滤被拒绝的邮件,最终通过过滤器并进一步处理?

在向 Kafka 提供数据之前过滤数据行是否更好?

谢谢。

您可能需要考虑使用数据库连接器,例如 Debezium 或 Confluent JDBC Source Connector,它们都基于 Kafka Connect

有关 MySQL 的 Debezium 连接器的更多信息,请参阅 http://debezium.io/docs/connectors/mysql

有关 Confluent 的更多信息 JDBC 连接器请参阅 http://docs.confluent.io/current/connect/connect-jdbc/docs/source_connector.html

使用基于 Kafka Connect 的连接器,您可以在使用 Kafka Connect 中的单消息转换 (SMT) 功能发布到 Kafka 之前过滤数据行。

在此处查看有关使用 Kafka Connect 进行行过滤的讨论 Kafka connect (Single message transform) row filtering