【问题标题】:Why does the Flink SQL Job changes from Running to Finished when querying SQL Server Database table in Flink SQL Job?为什么在 Flink SQL Job 中查询 SQL Server 数据库表时,Flink SQL Job 会从 Running 变为 Finished?
【发布时间】:2021-04-03 01:10:18
【问题描述】:

当我们在 Flink SQL CLI 中选择作为 SQL Server 数据库表的 Source 的任何表时,为什么 Flink 作业从数据库表中获取所有记录后“完成”?是否可以使其“运行”以便从数据库表中获取最新数据?

【问题讨论】:

    标签: apache-flink flink-sql


    【解决方案1】:

    JDBC连接器中的JdbcTableSource被定义为有界源,这意味着它会在获取所有记录后完成,而不是监控SQL Server数据库表的变化,然后连续发送数据库表的变化日志。

    也许flink CDC connector是你想要的,它支持读取数据库表快照并继续读取表binlog。 Flink 还支持 Kafka 的 CDC 格式(例如:一个 kafa 主题,其中包含由 CDC 工具加载的表 binglog),您可以从 Flink SQL 中定义的 Kafka 表中连续读取 lates 表。

    Flink 与 CDC 连接器和 CDC 格式配合良好,您可以查找 [1][2] 了解更多信息。

    [1] flink-cdc-connector:https://github.com/ververica/flink-cdc-connectors

    [2] flink CDC 格式:https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/table/connectors/formats/debezium.html

    【讨论】:

      猜你喜欢
      • 2020-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多