Yes. Flink Table&SQL uses something like that but more lower API called `TwoInputStreamOperator`, you can see: org.apache.flink.table.runtime.operators.join.stream.StreamingJoinOperator
And state ttl in TableConfig can take effect on such join query. Best, Jark On Thu, 30 Apr 2020 at 22:35, lec ssmi <shicheng31...@gmail.com> wrote: > Thanks, but is the bottom layer of the table API really implemented like > this? > > Konstantin Knauf <kna...@apache.org> 于 2020年4月30日周四 22:02写道: > >> Hi Lec Ssmi, >> >> yes, Dastream#connect on two streams both keyed on the productId with a >> KeyedCoProcessFunction is the way to go. >> >> Cheers, >> >> Konstantin >> >> On Thu, Apr 30, 2020 at 11:10 AM lec ssmi <shicheng31...@gmail.com> >> wrote: >> >>> Maybe, the connect method? >>> >>> lec ssmi <shicheng31...@gmail.com> 于2020年4月30日周四 下午3:59写道: >>> >>>> Hi: >>>> As the following sql: >>>> >>>> SELECT * FROM Orders INNER JOIN Product ON Orders.productId = >>>> Product.id >>>> >>>> If we use datastream API instead of sql, how should it be achieved? >>>> Because the APIs in DataStream only have Window Join and Interval >>>> Join,the official website says that to solve the above state capacity >>>> problem in sql is using TableConfig. But TableConfig itself can only solve >>>> the state ttl problem of non-time operators. So I think the above sql's >>>> implementation is neither tumble window join, nor sliding window join and >>>> interval join. >>>> >>>> Best Regards >>>> Lec Ssmi >>>> >>> >> >> -- >> >> Konstantin Knauf >> >> https://twitter.com/snntrable >> >> https://github.com/knaufk >> >