我想知道kafka平台是否适合以下工作。
我正在尝试使用多个表来摄取完整的数据库。一旦被Kafka摄取,我想根据条件过滤表格行。
我认为使用Kafka流很容易,但是过滤器拒绝的消息会发生什么?
如果基于例如日期,将来可以满足条件,那么是否有可能再次过滤被拒绝的消息以最终通过过滤器并进一步处理?
在向Kafka提供数据之前过滤数据行是否更好?
谢谢。
答案 0 :(得分:1)
您可能需要考虑使用基于Kafka Connect的数据库连接器(如Debezium或Confluent JDBC Source Connector)
有关MySQL的Debezium连接器的更多信息,请参阅http://debezium.io/docs/connectors/mysql
有关Confluent JDBC Connector的更多信息,请参阅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