本文要演示的是:使用 Temporal Table DDL 定义被关联表(维表),然后基于主动关联表(事实表)的“处理时间”去进行Temporal Join(关联时间维度上对应版本的维表数据)。该演示涉及三个要点:
- 被关联的表(维表)是用 Temporal Table DDL 形式定义,必须是一张时态表(版本表)
- 主动关联的表(事实表)需要定义“处理时间”属性,但并不需要是一张时态表(版本表)
- Temporal Join 是使用 Temporal Table DDL + FOR SYSTEM_TIME AS OF 关键字实现的
测试结果会报如下错误:
[ERROR] Could not execute SQL statement. Reason:
org.apache.flink.table.api.TableException: Processing-time temporal join is not supported yet.
文档所述一致,即:Flink 不支持使用 Temporal Table DDL 实现基于处理时间的 Temporal Join!此经该功能是支持的是,后因 FLINK-19830 描述的问题而在新版本中被禁止使用了。
-- 事实表: transactionsdrop table