[需求调研] Stream SQL window join 支持

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[需求调研] Stream SQL window join 支持

Danny Chan
大家好 ~

这里做一个 window-join[1] 的需求调研, window-join 是 Flink DataStream 上已经有的 feature. 目标是决策是否要在 SQL 上支持该特性, 例如, tumbling window join 语法可能长这样:

```sql
select ... window_start, window_end
from TABLE(
  TUMBLE(
    DATA => TABLE table_a,
    TIMECOL => DESCRIPTOR(rowtime),
    SIZE => INTERVAL '1' MINUTE)) tumble_a
  [LEFT | RIGHT | FULL OUTER] JOIN TABLE(
  TUMBLE(
    DATA => TABLE table_b,
    TIMECOL => DESCRIPTOR(rowtime),
    SIZE => INTERVAL '1' MINUTE)) tumble_b
on tumble_a.col1 = tumble_b.col1 and ...
```

目前了解到的情况是一些公司 interval join 用的比较多,window join 的 case 还是比较少的, 希望这里可以有更多的反馈。

希望您可以分享 window join 的一些使用案例,以及为什么选用 window-join (而不是 interval join)。

感谢 ~

[1] https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/stream/operators/joining.html

Best,
Danny Chan
Reply | Threaded
Open this post in threaded view
|

Re: [需求调研] Stream SQL window join 支持

Dream-底限
我先前遇到的是,两个流在同一个窗口上求某个字段的count比例,比如求上一个小时购买对访问求比

Danny Chan <[hidden email]> 于2020年8月27日周四 下午2:48写道:

> 大家好 ~
>
> 这里做一个 window-join[1] 的需求调研, window-join 是 Flink DataStream 上已经有的 feature.
> 目标是决策是否要在 SQL 上支持该特性, 例如, tumbling window join 语法可能长这样:
>
> ```sql
> select ... window_start, window_end
> from TABLE(
>   TUMBLE(
>     DATA => TABLE table_a,
>     TIMECOL => DESCRIPTOR(rowtime),
>     SIZE => INTERVAL '1' MINUTE)) tumble_a
>   [LEFT | RIGHT | FULL OUTER] JOIN TABLE(
>   TUMBLE(
>     DATA => TABLE table_b,
>     TIMECOL => DESCRIPTOR(rowtime),
>     SIZE => INTERVAL '1' MINUTE)) tumble_b
> on tumble_a.col1 = tumble_b.col1 and ...
> ```
>
> 目前了解到的情况是一些公司 interval join 用的比较多,window join 的 case 还是比较少的, 希望这里可以有更多的反馈。
>
> 希望您可以分享 window join 的一些使用案例,以及为什么选用 window-join (而不是 interval join)。
>
> 感谢 ~
>
> [1]
> https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/stream/operators/joining.html
>
> Best,
> Danny Chan
>
Reply | Threaded
Open this post in threaded view
|

回复: [需求调研] Stream SQL window join 支持

Cayden chen
hi ,能不能把window函数的trigger,evitor支持一下。哈哈




------------------&nbsp;原始邮件&nbsp;------------------
发件人:                                                                                                                        "user-zh"                                                                                    <[hidden email]&gt;;
发送时间:&nbsp;2020年8月27日(星期四) 下午3:51
收件人:&nbsp;"user-zh"<[hidden email]&gt;;

主题:&nbsp;Re: [需求调研] Stream SQL window join 支持



我先前遇到的是,两个流在同一个窗口上求某个字段的count比例,比如求上一个小时购买对访问求比

Danny Chan <[hidden email]&gt; 于2020年8月27日周四 下午2:48写道:

&gt; 大家好 ~
&gt;
&gt; 这里做一个 window-join[1] 的需求调研, window-join 是 Flink DataStream 上已经有的 feature.
&gt; 目标是决策是否要在 SQL 上支持该特性, 例如, tumbling window join 语法可能长这样:
&gt;
&gt; ```sql
&gt; select ... window_start, window_end
&gt; from TABLE(
&gt;&nbsp;&nbsp; TUMBLE(
&gt;&nbsp;&nbsp;&nbsp;&nbsp; DATA =&gt; TABLE table_a,
&gt;&nbsp;&nbsp;&nbsp;&nbsp; TIMECOL =&gt; DESCRIPTOR(rowtime),
&gt;&nbsp;&nbsp;&nbsp;&nbsp; SIZE =&gt; INTERVAL '1' MINUTE)) tumble_a
&gt;&nbsp;&nbsp; [LEFT | RIGHT | FULL OUTER] JOIN TABLE(
&gt;&nbsp;&nbsp; TUMBLE(
&gt;&nbsp;&nbsp;&nbsp;&nbsp; DATA =&gt; TABLE table_b,
&gt;&nbsp;&nbsp;&nbsp;&nbsp; TIMECOL =&gt; DESCRIPTOR(rowtime),
&gt;&nbsp;&nbsp;&nbsp;&nbsp; SIZE =&gt; INTERVAL '1' MINUTE)) tumble_b
&gt; on tumble_a.col1 = tumble_b.col1 and ...
&gt; ```
&gt;
&gt; 目前了解到的情况是一些公司 interval join 用的比较多,window join 的 case 还是比较少的, 希望这里可以有更多的反馈。
&gt;
&gt; 希望您可以分享 window join 的一些使用案例,以及为什么选用 window-join (而不是 interval join)。
&gt;
&gt; 感谢 ~
&gt;
&gt; [1]
&gt; https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/stream/operators/joining.html
&gt;
&gt; Best,
&gt; Danny Chan
&gt;