当前位置: 首页 > 知识库问答 >
问题:

为什么在Flink SQL作业中查询SQL Server数据库表时,Flink SQL作业从运行变为完成?

皇甫乐
2023-03-14

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

共有1个答案

卫寒
2023-03-14

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

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

Flink与CDC connector和CDC格式配合得很好,您可以查阅[1][2]了解更多信息。

 类似资料:
  • 问题内容: 我想清除所有超过1周的SQL数据库,我想每晚进行一次。所以,我要安排一份工作。如何查询mySQL,而不必每次都手动输入密码? PHP中的查询如下: 有没有办法将其作为shell脚本运行?如果没有,有没有一种方法可以使cron运行php文件? 问题答案: 尝试创建如下所示的shell脚本: 然后可以将其添加到cron

  • 我正在开发一个应用程序,希望在实时事件和过去事件上运行Flink SQL。我尝试了一个POC,其中Flink在Kafka等流源上运行SQL,SQL查询只返回新的事件/更改。但是,我想对所有数据运行SQL,有些数据可能会随着时间的推移而改变。基本上我的要求就是连续查询整个数据。如何通过Flink或其他流媒体解决方案实现这一点?

  • 问题内容: 这个问题已经在这里有了答案 : 在Python中管道输出stdout时设置正确的编码 (10个答案) 7年前关闭。 我的程序可以在命令行中正常运行,但是当我将其作为cron作业运行时,它会因错误而崩溃: 它在语句上崩溃 为什么只有在应用程序作为cron作业运行时才会发生这种情况?如何解决? 我尝试了(没有帮助): Python是2.7 问题答案: 旁白:这是一个普遍的问题。 因此,这可

  • 目前,我们正在库伯内特斯上使用自己安装的气流版本,但想法是在云作曲家上迁移。我们使用Airflow运行数据流作业,使用DataFlowJavaoperator的自定义版本(使用插件),因为我们需要执行java应用程序,而java应用程序不是在jar中自包含的。因此,我们基本上运行一个bash脚本,该脚本使用以下命令: 所有jar依赖项都存储在所有辅助角色之间的共享磁盘中,但是在Composer中缺

  • 我有一个表,cron 作业会每分钟轮询该表,以向其他服务发送消息。表中的记录实质上是计划在特定时间运行的活动。cron 作业只是检查哪些活动已准备好运行,并通过 SQS 将该活动的消息发送到其他服务。 当cron作业发现活动已准备好运行时,在通过SQS发送消息后,该记录将被标记为。有一个API允许其他服务检查计划活动是否已经完成。因此,需要保留那些记录的历史记录。 然而,我在这里关心的是这样的设计

  • 我们的Google Cloud数据流管道程序调用了一些动态链接到*的库。所以要运行它,我需要设置linux环境变量LD_LIBRARY_PATH。有一种方法可以做到这一点:https://groups.google.com/forum/#!主题/综合。java。程序员/LOu18 OWAVM,但我想知道是否有一种方法可以在执行管道之前使用一些运行shell脚本的作业来实现这一点?