Hi Yifei,

if you don't wanna implement your own join operator, then you could also
chain two join operations. I created a small example to demonstrate that:
https://gist.github.com/tillrohrmann/c074b4eedb9deaf9c8ca2a5e124800f3.
However, bare in mind that for this approach you will construct two windows
which might be a bit more costly than Aljoscha's approach.

Cheers,
Till

On Tue, Apr 19, 2016 at 11:32 AM, Aljoscha Krettek <aljos...@apache.org>
wrote:

> Hi,
> right now, there is no built-in support for n-ary joins. I am working on
> this, however.
>
> For now you can simulate n-ary joins by using a tagged union and doing the
> join yourself in a WindowFunction. I created a small example that
> demonstrates this:
> https://gist.github.com/aljoscha/a2a213d90c7c1bc67e71fabaa82fba4a
>
> I hope this helps, and please let us know if you want to know more.
>
> Cheers,
> Aljoscha
>
> On Tue, 19 Apr 2016 at 02:11 Yifei Li <lee891...@gmail.com> wrote:
>
>> Hi,
>>
>> I am new to Flink and I've read some documentation and think Flink may
>> fit my scenario.
>>
>> Here is my scenario:
>>
>> 1. Assume I have 3 streams: S1(id, name, email, action, date), S2(id,
>> name, email, level, date), S3(id, name, position, date).
>>
>> *2. S2 always delays(hours to days, not determined..) *
>>
>> 3. Based on the event time, I want to join S1, S2 and S3 every 5 minutes.
>> The join is like a SQL join:
>>     select S1.name, S3.position from S1, S2, S3 where S1.id = S2.id and
>> S1.id = S3.id and S1.action = 'download' and S2.level = 5
>>
>>
>>
>> Can I use Flink for my scenario? Is yes, can anyone point me to some
>> working examples(I found some examples but they are outdated), or tell me
>> some workaround to solve this problem? If no, can anyone tell me the
>> reasons?
>>
>> Thanks,
>>
>> Yifei
>>
>>
>>
>>
>>
>>

Reply via email to