You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by "jiangshan0204@163.com" <ji...@163.com> on 2021/06/24 01:28:48 UTC

回复: Processing-time temporal join is not supported yet

当前版本,基于处理时间的时态 Join 中, 如果右侧表不是可以直接查询外部系统的表而是普通的数据流,时态表函数 Join 和 时态表 Join 的语义都有问题,时态表函数 Join 仍然允许使用,但是时态表 Join 禁用了该功能。 语义问题的原因是 join 算子没办法知道右侧时态表(构建侧)的完整快照是否到齐,这可能导致左侧的流在启动时关联不到用户期待的数据, 在生产环境中可能误导用户。

 可以考虑使用基于事件时间的语义,并为左右表设置合适的watermark;或者右侧流落地成维表先



jiangshan0204@163.com
 
发件人: op
发送时间: 2021-06-23 17:03
收件人: user-zh
主题: Processing-time temporal join is not supported yet
hi,我用两个kaka表做temporal join时报这个错误:
org.apache.flink.table.api.TableException: Processing-time temporal join is not supported yet.
 
sql如下,我看官网上好像支持这种呢,不知道什么情况
 
 
create view visioned_table as&nbsp;&nbsp;
&nbsp; select
&nbsp; &nbsp;user_id,
&nbsp; &nbsp;event
&nbsp;from
(select
&nbsp; &nbsp; user_id,
&nbsp; &nbsp; event,
&nbsp; &nbsp; row_number() over(partition by user_id order by event_time desc) as rn
&nbsp; &nbsp; from kafka_table1
&nbsp; &nbsp; )ta where rn=1;
select
&nbsp; &nbsp; &nbsp; t1.*,t2.*
&nbsp; &nbsp; from mvp_rtdwd_event_app_quit t1
&nbsp;join visioned_table FOR SYSTEM_TIME AS OF t1.proc_time AS t2
&nbsp; &nbsp;on t1.user_id=t2.user_id&nbsp;
&nbsp; &nbsp;where t1.user_id is not null