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

定期刷新Apache Flink中的静态数据?

司徒高丽
2023-03-14

我有一个应用程序,它从一个流接收大部分输入,但是它的一些数据来自RDBMS和一系列静态文件。

流将连续发出事件,因此flink作业永远不会结束,但是如何定期刷新RDBMS数据和静态文件以捕获对这些源的任何更新?

我目前正在使用JDBCInputFormat从数据库中读取数据。

下面是我尝试做的大致示意图:

共有2个答案

许子平
2023-03-14

对于每个源、文件和RDBMS,您可以定期(例如每6小时)在HDFS或存储中创建快照,并计算到快照之间的差异。结果将推到Kafka身上。当您无法修改数据库和文件结构以及额外信息(例如在RDBMS中,一个名为last_update的列)时,此解决方案可以工作。

另一种解决方案是添加一个名为last_update的列,用于过滤在到查询之间更改的数据,并将数据推送到Kafka。

赏新知
2023-03-14

对于两个可能更改的源(RDBMS和文件),创建一个Flink源,该源使用广播流向处理Kafka数据的Flink操作员发送更新。广播流将每个对象发送到接收操作员的每个任务/实例

 类似资料:
  • } 用于显示股票的HTML页面:

  • 问题内容: 出于优化目的,我使用实例化视图来定期刷新它,我设置了一个cron作业,在我的情况下,每三个小时运行一次周期t。我的问题是: 刷新实例化视图的最佳方法是什么? 如果使用cron作业刷新实例化视图会出现什么问题? 我遇到了一个Postgres插件,可以安排工作链接 问题答案: 最好的方法是定期执行执行任务的脚本: 脚本是: 并在crontab中添加一个条目,例如:

  • 我们决定使用OAuth2从Hazelcast共享会话切换到无状态JWT身份验证/授权,并发现了一个不适合我们下面描述的基础结构的问题。 因此,我们有多个独立的系统,可以通过直接链接访问,即mysite.com/scs1和mysite.com/scs2。 每个scs都有自己的UI和后端,但是“会话”(通过无状态JWT授权实现)必须在多个scs之间有效。 OAuth2授权服务器是一个专用服务器(UAA

  • 问题内容: 我正在评估用于构建Web应用程序的Spring MVC&Boot和AngularJs。我遇到了一个问题,当我修改静态内容(html,js,css)时,每次都必须重新启动应用程序。我希望有某种解决方法,因为重新启动整个应用程序以进行静态内容更改效率不高。我尝试过的所有其他Web应用程序框架都允许即时更新静态内容文件(甚至只是Spring MVC和普通的旧WAR应用程序)。 我已经从“使用

  • 我正在评估用于构建web应用程序的Spring MVC&Boot和AngularJs。我遇到的问题是,当我对静态内容(html、js、css)进行修改时,每次都必须重新启动应用程序。我希望有某种方法可以解决这个问题,因为重新启动整个应用程序进行静态内容更改并不高效。我尝试过的所有其他web应用程序框架都允许动态更新静态内容文件(即使只是Spring、MVC和普通的WAR应用程序)。 我从“使用Sp

  • 扩展DatabaseObject类的用户类。.. 带有后期静态绑定的DatabaseObject类。..