Flink是否可以对非动态表运行连续查询?

时间:2020-10-27 09:27:00

标签: apache-flink flink-sql

我希望将Flink SQL用作对多个不同服务的物化视图。例如,从MySQL&Redis&RPC服务读取数据,将它们连接在一起,然后更新存储在PostgreSQL中的结果表

以上所有这些服务都向Kafka发送了有关更改的通知。

如果“通知”包含源表中的所有信息,那么我可以只使用动态表。但是,源表中的数据太大,以至于无法将所有数据存储在动态表中。

所以最好的方法是:

  1. Flink读取输入的kafka主题中的通知
  2. Flink不会从内存中更新和查询动态表,而是向外部服务查询重新计算SQL结果所需的数据。
  3. 将结果写入接收器(如PostgreSQL)。

是否可以通过一些技巧来做到这一点?

1 个答案:

答案 0 :(得分:1)

好像是SYSTEM TIME AS OF / LookupTableSource的工作;它可用于JDBC,但不适用于redis或RPC。不过,实现起来应该不会太困难。