为了丰富数据流,我们计划将MySQL(MemSQL(服务器连接到我们现有的flink流应用程序
正如我们所看到的,Flink提供了一个带有JDBC连接器https://nightlies.apache.org/flink/flink-docs-master/docs/connectors/table/jdbc/
的Table API
此外,我发现了另一个名为Flink CDChttps://ververica.github.io/flink-cdc-connectors/master/content/about.html
的MySQL连接器,它允许以流方式处理外部数据库
它们之间有什么区别?在我的情况下,选择什么更好?
更改数据捕获(CDC(连接器捕获一个或多个表中发生的所有更改。模式通常有一个before和一个after记录。Flink CDC连接器可以在Flink中以无限制模式(流(直接使用,而不需要像Kafka一样的东西。
普通JDBC连接器可以在有界模式下使用,也可以用作查找表。
如果您希望丰富现有的流,您很可能希望使用查找功能。这允许您在表中查询特定键(来自流(,并使用表中的数据丰富流。请记住,从性能的角度来看,最好使用时态表联接。请参阅中的示例https://nightlies.apache.org/flink/flink-docs-master/docs/connectors/table/jdbc/#how-创建jdbc-table