开发者社区> 问答> 正文

我用两个kaka表做temporal join时报这个错误怎么办?

org.apache.flink.table.api.TableException: Processing-time temporal join is not supported yet.

sql如下,我看官网上好像支持这种呢,不知道什么情况

create view visioned_table as  

  select

   user_id,

   event

 from

(select

    user_id,

    event,

    row_number() over(partition by user_id order by event_time desc) as rn

    from kafka_table1

    )ta where rn=1;

select

      t1.,t2.

    from mvp_rtdwd_event_app_quit t1

 join visioned_table FOR SYSTEM_TIME AS OF t1.proc_time AS t2

   on t1.user_id=t2.user_id 

   where t1.user_id is not null*来自志愿者整理的flink邮件归档

展开
收起
彗星halation 2021-12-02 11:33:36 1641 0
1 条回答
写回答
取消 提交回答
  • Flink SQL 目前支持 Event time temporal join 任意表/视图,还不支持 Processing-time temporal join 任意表/视图(支持Processing-time join 实现了LookupTableSource的表)。

    Processing-time temporal join 任意表目前不支持的原因主要是语义问题,具体来说: 在Processing time关联时,Flink SQL 层面还没比较好的机制保证维表加载完后再关联。比如如用来做维表流的kafka中有 1000万 条数据,但目前没有办法实现将这 1000万条先记录全部加载完后主流过来的数据再去关联,在作业启动阶段,主流的数据预期能够关联上的数据可能因为维表还未加载完成而关联不上。

    可以参考下 https://issues.apache.org/jira/browse/FLINK-19830 https://issues.apache.org/jira/browse/FLINK-19830*来自志愿者整理的FLINK邮件归档

    2021-12-02 11:48:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载