开发者社区> 问答> 正文

SQL interval join 问题

现有 SQL 语句如下: create table source1( id varchar PRIMARY KEY, a varchar, proctime AS PROCTIME() ) with ( 'connector' = 'kafka' ... ); create table source2( id varchar PRIMARY KEY, a varchar, proctime AS PROCTIME() ) with ( 'connector' = 'kafka' ... ); select case when s1.id is not null then s1.id else s2.id end as ids, s1.a, s2.b from source1 as s1 full outer join source2 as s2 on s1.id = s2.id where s1.proctime between s2.proctime - INTERVAL '5' SECOND and s2.proctime + INTERVAL '5' SECOND;

最后的 join 语句预期是 如果两个source的消息<id, a>, <id, b>先后到达时间超过 10 秒,则输出<id, a>, <id, b> 两条消息。

目前的观察结果是,如果两条消息<id, a>, <id, b>先后到达时间超过10 秒,输出为:<id, a>, <id, a, b> 为何超过 10 秒后,仍然会输出 <id, a, b> ?*来自志愿者整理的flink

展开
收起
毛毛虫雨 2021-12-06 15:38:23 598 0
1 条回答
写回答
取消 提交回答
  • 搜了一下,目前是有一个 issue 看起来相关,https://issues.apache.org/jira/browse/FLINK-18996

    不知道处理进度如何?*来自志愿者整理的flink

    2021-12-06 16:07:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载