Hi Kant,

the non windowed stream-stream join is not equivalent to the full-history join, 
though they get the same SQL form. The retention times for records must be set 
to leverage the storage consumption and completeness of the results.

Best,
Xingcan

> On 7 Mar 2018, at 8:02 PM, kant kodali <kanth...@gmail.com> wrote:
> 
> Hi Cheng,
> 
> The docs here 
> <https://ci.apache.org/projects/flink/flink-docs-master/dev/table/tableApi.html#joins>
>  states full outer joins are only available for batch (I am not sure if I am 
> reading that correctly). I am trying to understand how two unbounded streams 
> can be joined like a batch? If we have to do batch join then it must be 
> bounded right? If so, how do we bound? I can think Time Window is one way to 
> bound but other than that if I execute the below join query on the unbounded 
> stream I am not even sure how that works? A row from one table can join with 
> a row from another table and that row can come anytime in future right if it 
> is unbounded. so I am sorry I am failing to understand.
> 
> 
> SELECT *
> FROM Orders o, Shipments s
> WHERE o.id <http://o.id/> = s.orderId
> 
> Thanks!
> 
> On Wed, Mar 7, 2018 at 3:49 AM, Hequn Cheng <chenghe...@gmail.com 
> <mailto:chenghe...@gmail.com>> wrote:
> Hi kant,
> 
> It seems that you mean the Time-windowed Join. The Time-windowed Joins are 
> supported now. You can check more details with the docs given by Xingcan.
> As for the non-window join, it is used to join two unbounded stream and the 
> semantic is very like batch join.
> 
> Time-windowed Join:
> SELECT *
> FROM Orders o, Shipments s
> WHERE o.id <http://o.id/> = s.orderId AND
>       o.ordertime BETWEEN s.shiptime - INTERVAL '4' HOUR AND s.shiptime
>  
> Non-windowed Join:
> SELECT *
> FROM Orders o, Shipments s
> WHERE o.id <http://o.id/> = s.orderId
> 
> On Wed, Mar 7, 2018 at 7:02 PM, kant kodali <kanth...@gmail.com 
> <mailto:kanth...@gmail.com>> wrote:
> Hi! 
> 
> Thanks for all this. and yes I was indeed talking about SQL/Table API so I 
> will keep track of these tickets! BTW, What is non-windowed Join? I thought 
> stream-stream-joins by default is a stateful operation so it has to be within 
> some time window right? Also does the output of stream-stream joins emit 
> every time so we can see the state of the join at any given time or only when 
> the watermark elapses and join result fully materializes? 
> 
> On a side note, Full outer join seems to be the most useful for my use case. 
> so the moment its available in master I can start playing and testing it!
> 
> On Tue, Mar 6, 2018 at 10:39 PM, Hequn Cheng <chenghe...@gmail.com 
> <mailto:chenghe...@gmail.com>> wrote:
> Hi Kant,
> 
> The stream-stream outer joins are work in progress now(left/right/full), and 
> will probably be ready before the end of this month. You can check the 
> progress from[1]. 
> 
> Best, Hequn
> 
> [1] https://issues.apache.org/jira/browse/FLINK-5878 
> <https://issues.apache.org/jira/browse/FLINK-5878>
> 
> On Wed, Mar 7, 2018 at 1:01 PM, Xingcan Cui <xingc...@gmail.com 
> <mailto:xingc...@gmail.com>> wrote:
> Hi Kant,
> 
> I suppose you refer to the stream join in SQL/Table API since the outer join 
> for windowed-streams can always be achieved with the `JoinFunction` in 
> DataStream API.
> 
> There are two kinds of stream joins, namely, the time-windowed join and the 
> non-windowed join in Flink SQL/Table API [1, 2]. The time-windowed outer join 
> has been supported since version 1.5 and the non-windowed outer join is still 
> work in progress.
> 
> Hope that helps.
> 
> Best,
> Xingcan
> 
> [1] 
> https://ci.apache.org/projects/flink/flink-docs-master/dev/table/tableApi.html#joins
>  
> <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/table/sql.html#joins
>  
> <https://ci.apache.org/projects/flink/flink-docs-master/dev/table/sql.html#joins>
> 
> 
>> On 7 Mar 2018, at 12:45 AM, kant kodali <kanth...@gmail.com 
>> <mailto:kanth...@gmail.com>> wrote:
>> 
>> Hi All,
>> 
>> Does Flink support stream-stream outer joins in the latest version?
>> 
>> Thanks!
> 
> 
> 
> 
> 

Reply via email to