当在流环境中触发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')
相关作业在阅读表记录后停止
1条答案
按热度按时间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页面。