Thanks Jark for bringing up this discussion, just look at the api definitions, it seems that Flink DatasStream interval join and Table/SQL Time-windowed Join are not equivalent for the join conditions:
The Interval Join only supports event time columnbs comparison of the joined streams[1]; while the Time-windowed Join allows any type columns to be within the equi-join part with required additional join condition that bounds the time on both sides. So from the limitations of the implementations, it seems that DatasStream interval join is purely joingng streams with times whose functionality is subset of Time-windowed Join which boulds two streams with times first then apply more complex join condition predicates. I'm also inclined we should unify the terminology, but just curious, why not choose Time-windowed Join because it's functionality is more "complete" ? [1] https://github.com/apache/flink/blob/cce1cef50d993aba5060ea5ac597174525ae895e/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/datastream/KeyedStream.java#L449 Best, Danny Chan 在 2019年12月23日 +0800 AM11:42,Jark Wu <imj...@gmail.com>,写道: > Hi everyone, > > Currently, in the Table API & SQL documentation[1], we call the joins with > time conditions as "Time-windowed Join". However, the same feature is > called "Interval Join" in DataStream[2]. We should align the terminology in > Flink project. > > From my point of view, "Interval Join" is more suitable, because it joins a > time interval range of right stream. And "Windowed Join" should be joining > data in the same window, this is also described in DataStream API[3]. > > For Table API & SQL, the "Time-windowed Join" is the "Interval Join" in > DataStream. And the "Windowed Join" feature is missed in Table API & SQL. > > I would propose to correct the terminology in docs before 1.10 is release. > > What do you think? > > Best, > Jark > > [1]: > https://ci.apache.org/projects/flink/flink-docs-master/dev/table/tableApi.html#joins > [2]: > https://ci.apache.org/projects/flink/flink-docs-master/dev/stream/operators/joining.html#interval-join > [3]: > https://ci.apache.org/projects/flink/flink-docs-master/dev/stream/operators/joining.html#window-join