Flink Table JDBC查找,缓存属性和相关属性在流环境中不起作用

5rgfhyps  于 2022-12-20  发布在  Apache
关注(0)|答案(1)|浏览(216)

当在流环境中触发SQL查询并连接流数据和jdbc表时,jdbc表相关任务在阅读所有表记录后立即完成。当我为jdbc表添加属性lookup.cache,lookup.partial-cache.max-rows,lookup. partial-cache.expire-after-write时,它不会影响任务生命周期。这意味着lookup.cache机制未按预期工作。
我已将表创建为

CREATE  TABLE U_ZRB_C_RISKLI_MCC_0 (RISKLIMCC  STRING ,PRIMARY KEY (RISKLIMCC) NOT ENFORCED) 
  WITH ('connector' = 'jdbc' 
,'url' = 'jdbc:oracle:thin:@localhost:1521/orcl' 
,'table-name' = 'U_ZRB_C_RISKLI_MCC_0' 
,'driver' = 'oracle.jdbc.OracleDriver' 
,'username' = 'username' 
,'password' = 'password' 
,'lookup.cache'='PARTIAL'
,'lookup.partial-cache.expire-after-write'='10s')

相关作业在阅读表记录后停止

46scxncf

46scxncf1#

感谢@Xianxun Ye,当我在表名后添加“FOR SYSTEM_TIME AS OF”子句时,查找功能按链接www.example.com中的定义如期运行https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/sql/queries/joins/#lookup-join
我认为flink文档页面https://nightlies.apache.org/flink/flink-docs-master/docs/connectors/table/jdbc/#lookup-cache也应该参考lookup-join页面。

相关问题