You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by tingli ke <ke...@gmail.com> on 2020/03/30 12:58:52 UTC

keyby的乱序处理

请教一个问题:kafka-per-partition 的watermark的分配,可以在keyby之后分配吗,想做key化的乱序处理能支持吗

回复:keyby的乱序处理

Posted by "Sun.Zhu" <17...@163.com>.
1.未keyby的话,user1 user2 user3的顺序取决于分区策略,比如forward他们还是会在一个subtask上,顺序还是有序的,如果被打散的话就不确定了
2.keyby的话,可以保证同一个key的后续数据保持有序,不同的key不能保证一定有序




| |
Sun.Zhu
|
|
邮箱:17626017841@163.com
|

Signature is customized by Netease Mail Master

在2020年03月31日 15:39,tingli ke 写道:
HI,再次补充一下我的场景,如下图所示:
1、kafka TopicA的Partiton1的数据包含3个user的数据
2、flink在对该分区生成了w1、w2、w3...的watermark


问题来了:
1、w1、w2、w3...的watermark只能保证user1、user2、user3的整体数据的有序处理对吗?

2、在对user1、user2、user3进行keyby后,w1、w2、w3...的watermark能保证user1或者user2或者user3的有序处理吗?


期待大神的回复!




jun su <su...@gmail.com> 于2020年3月31日周二 下午1:10写道:

hi,
keyby后的watermark应该是上游多个线程中最小的watermark , 所以数据虽然可能乱序, 但是watermark并不会乱,
不会影响后续的窗口触发

tingli ke <ke...@gmail.com> 于2020年3月31日周二 上午9:54写道:

> 您好,
> 针对您的回复,现在的场景是这样子的
> 1、kafka存在多个partition,针对多个Partiton,flink watermark assiger会对每个Partiton
> 发射 watermark;
> 2、在第一个前提下,水位已经设置好了,还可以在keyby之后在次设置watermark吗?
> 3、是否存在可以不用经过第一个前提的方案,直接在keyby之后设置watermark?
>
> Jimmy Wong <wa...@163.com> 于2020年3月30日周一 下午9:13写道:
>
> > Hi,
> > watermark 可以在 keyBy 后分配,但是最好紧跟 SourceFunction。经过 KeyBy
> > 或其他分配策略,可能导致数据更大的延迟(EventTime)。
> >
> >
> > “想做key化的乱序处理” 这句没太理解,麻烦解释下。
> >
> >
> > | |
> > Jimmy Wong
> > |
> > |
> > wangzmking@163.com
> > |
> > 签名由网易邮箱大师定制
> >
> >
> > 在2020年03月30日 20:58,tingli ke<ke...@gmail.com> 写道:
> > 请教一个问题:kafka-per-partition 的watermark的分配,可以在keyby之后分配吗,想做key化的乱序处理能支持吗
> >
>


--
Best,
Jun Su

Re: keyby的乱序处理

Posted by tingli ke <ke...@gmail.com>.
HI,再次补充一下我的场景,如下图所示:
1、kafka TopicA的Partiton1的数据包含3个user的数据
2、flink在对该分区生成了w1、w2、w3...的watermark

问题来了:
1、w1、w2、w3...的watermark只能保证user1、user2、user3的整体数据的有序处理对吗?
2、在对user1、user2、user3进行keyby后,w1、w2、w3...的watermark能保证user1或者user2或者user3的有序处理吗?

期待大神的回复!
[image: image.png]

jun su <su...@gmail.com> 于2020年3月31日周二 下午1:10写道:

> hi,
> keyby后的watermark应该是上游多个线程中最小的watermark , 所以数据虽然可能乱序, 但是watermark并不会乱,
> 不会影响后续的窗口触发
>
> tingli ke <ke...@gmail.com> 于2020年3月31日周二 上午9:54写道:
>
> > 您好,
> > 针对您的回复,现在的场景是这样子的
> > 1、kafka存在多个partition,针对多个Partiton,flink watermark assiger会对每个Partiton
> > 发射 watermark;
> > 2、在第一个前提下,水位已经设置好了,还可以在keyby之后在次设置watermark吗?
> > 3、是否存在可以不用经过第一个前提的方案,直接在keyby之后设置watermark?
> >
> > Jimmy Wong <wa...@163.com> 于2020年3月30日周一 下午9:13写道:
> >
> > > Hi,
> > > watermark 可以在 keyBy 后分配,但是最好紧跟 SourceFunction。经过 KeyBy
> > > 或其他分配策略,可能导致数据更大的延迟(EventTime)。
> > >
> > >
> > > “想做key化的乱序处理” 这句没太理解,麻烦解释下。
> > >
> > >
> > > | |
> > > Jimmy Wong
> > > |
> > > |
> > > wangzmking@163.com
> > > |
> > > 签名由网易邮箱大师定制
> > >
> > >
> > > 在2020年03月30日 20:58,tingli ke<ke...@gmail.com> 写道:
> > > 请教一个问题:kafka-per-partition 的watermark的分配,可以在keyby之后分配吗,想做key化的乱序处理能支持吗
> > >
> >
>
>
> --
> Best,
> Jun Su
>

Re: keyby的乱序处理

Posted by jun su <su...@gmail.com>.
hi,
keyby后的watermark应该是上游多个线程中最小的watermark , 所以数据虽然可能乱序, 但是watermark并不会乱,
不会影响后续的窗口触发

tingli ke <ke...@gmail.com> 于2020年3月31日周二 上午9:54写道:

> 您好,
> 针对您的回复,现在的场景是这样子的
> 1、kafka存在多个partition,针对多个Partiton,flink watermark assiger会对每个Partiton
> 发射 watermark;
> 2、在第一个前提下,水位已经设置好了,还可以在keyby之后在次设置watermark吗?
> 3、是否存在可以不用经过第一个前提的方案,直接在keyby之后设置watermark?
>
> Jimmy Wong <wa...@163.com> 于2020年3月30日周一 下午9:13写道:
>
> > Hi,
> > watermark 可以在 keyBy 后分配,但是最好紧跟 SourceFunction。经过 KeyBy
> > 或其他分配策略,可能导致数据更大的延迟(EventTime)。
> >
> >
> > “想做key化的乱序处理” 这句没太理解,麻烦解释下。
> >
> >
> > | |
> > Jimmy Wong
> > |
> > |
> > wangzmking@163.com
> > |
> > 签名由网易邮箱大师定制
> >
> >
> > 在2020年03月30日 20:58,tingli ke<ke...@gmail.com> 写道:
> > 请教一个问题:kafka-per-partition 的watermark的分配,可以在keyby之后分配吗,想做key化的乱序处理能支持吗
> >
>


-- 
Best,
Jun Su

Re: keyby的乱序处理

Posted by tingli ke <ke...@gmail.com>.
您好,
针对您的回复,现在的场景是这样子的
1、kafka存在多个partition,针对多个Partiton,flink watermark assiger会对每个Partiton
发射 watermark;
2、在第一个前提下,水位已经设置好了,还可以在keyby之后在次设置watermark吗?
3、是否存在可以不用经过第一个前提的方案,直接在keyby之后设置watermark?

Jimmy Wong <wa...@163.com> 于2020年3月30日周一 下午9:13写道:

> Hi,
> watermark 可以在 keyBy 后分配,但是最好紧跟 SourceFunction。经过 KeyBy
> 或其他分配策略,可能导致数据更大的延迟(EventTime)。
>
>
> “想做key化的乱序处理” 这句没太理解,麻烦解释下。
>
>
> | |
> Jimmy Wong
> |
> |
> wangzmking@163.com
> |
> 签名由网易邮箱大师定制
>
>
> 在2020年03月30日 20:58,tingli ke<ke...@gmail.com> 写道:
> 请教一个问题:kafka-per-partition 的watermark的分配,可以在keyby之后分配吗,想做key化的乱序处理能支持吗
>

回复: keyby的乱序处理

Posted by "蒋佳成(Jiacheng Jiang)" <92...@qq.com>.
keyby后加watermark后面只能是windowAll,难道还要keyby一下?




------------------&nbsp;原始邮件&nbsp;------------------
发件人: "tingli ke"<ketingli92@gmail.com&gt;; 
发送时间: 2020年3月31日(星期二) 上午9:48
收件人: "user-zh"<user-zh@flink.apache.org&gt;; 
主题: Re: keyby的乱序处理



您好,
非常感谢您的回复!
key化就是keyby之后的,个人理解为keyed(key&nbsp;化),和您回答的“watermark&nbsp;可以在&nbsp;keyBy&nbsp;后分配”是同一个话题。

Jimmy&nbsp;Wong&nbsp;<wangzmking@163.com&gt;&nbsp;于2020年3月30日周一&nbsp;下午9:13写道:

&gt;&nbsp;Hi,
&gt;&nbsp;watermark&nbsp;可以在&nbsp;keyBy&nbsp;后分配,但是最好紧跟&nbsp;SourceFunction。经过&nbsp;KeyBy
&gt;&nbsp;或其他分配策略,可能导致数据更大的延迟(EventTime)。
&gt;
&gt;
&gt;&nbsp;“想做key化的乱序处理”&nbsp;这句没太理解,麻烦解释下。
&gt;
&gt;
&gt;&nbsp;|&nbsp;|
&gt;&nbsp;Jimmy&nbsp;Wong
&gt;&nbsp;|
&gt;&nbsp;|
&gt;&nbsp;wangzmking@163.com
&gt;&nbsp;|
&gt;&nbsp;签名由网易邮箱大师定制
&gt;
&gt;
&gt;&nbsp;在2020年03月30日&nbsp;20:58,tingli&nbsp;ke<ketingli92@gmail.com&gt;&nbsp;写道:
&gt;&nbsp;请教一个问题:kafka-per-partition&nbsp;的watermark的分配,可以在keyby之后分配吗,想做key化的乱序处理能支持吗
&gt;

Re: keyby的乱序处理

Posted by tingli ke <ke...@gmail.com>.
您好,
非常感谢您的回复!
key化就是keyby之后的,个人理解为keyed(key 化),和您回答的“watermark 可以在 keyBy 后分配”是同一个话题。

Jimmy Wong <wa...@163.com> 于2020年3月30日周一 下午9:13写道:

> Hi,
> watermark 可以在 keyBy 后分配,但是最好紧跟 SourceFunction。经过 KeyBy
> 或其他分配策略,可能导致数据更大的延迟(EventTime)。
>
>
> “想做key化的乱序处理” 这句没太理解,麻烦解释下。
>
>
> | |
> Jimmy Wong
> |
> |
> wangzmking@163.com
> |
> 签名由网易邮箱大师定制
>
>
> 在2020年03月30日 20:58,tingli ke<ke...@gmail.com> 写道:
> 请教一个问题:kafka-per-partition 的watermark的分配,可以在keyby之后分配吗,想做key化的乱序处理能支持吗
>

回复:keyby的乱序处理

Posted by Jimmy Wong <wa...@163.com>.
Hi, 
watermark 可以在 keyBy 后分配,但是最好紧跟 SourceFunction。经过 KeyBy 或其他分配策略,可能导致数据更大的延迟(EventTime)。


“想做key化的乱序处理” 这句没太理解,麻烦解释下。


| |
Jimmy Wong
|
|
wangzmking@163.com
|
签名由网易邮箱大师定制


在2020年03月30日 20:58,tingli ke<ke...@gmail.com> 写道:
请教一个问题:kafka-per-partition 的watermark的分配,可以在keyby之后分配吗,想做key化的乱序处理能支持吗