在线数据质量

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

在线数据质量

wangxiangyan
hi,大家的在线任务会在晚上重跑一次做校正吗?
Reply | Threaded
Open this post in threaded view
|

回复:在线数据质量

Yichao Yang
Hi


在什么场景下需要重跑做校正呢?能描述下你的场景吗?


Best,
Yichao Yang




------------------ 原始邮件 ------------------
发件人:&nbsp;"wangxiangyan"<[hidden email]&gt;;
发送时间:&nbsp;2020年6月22日(星期一) 上午10:52
收件人:&nbsp;"user-zh"<[hidden email]&gt;;

主题:&nbsp;在线数据质量



hi,大家的在线任务会在晚上重跑一次做校正吗?
Reply | Threaded
Open this post in threaded view
|

Re:在线数据质量

wangxiangyan
不确定客户的某些组件在什么时候会出故障,线上无法干预调控,如果线上oom,如何保证客户方的应用运行呢?再次启动的话,kafka中堆积很多的数据,应用启动,页面无实时数据,想的是先处理实时数据,让当前应用继续运行,再另起一个任务设置从同一个消费者组的某个时刻启动,两个任务同时运行,这样的逻辑可行吗?
&nbsp;
&nbsp;
------------------&nbsp;Original&nbsp;------------------
From: &nbsp;"Yichao Yang"<[hidden email]&gt;;
Date: &nbsp;Mon, Jun 22, 2020 10:59 AM
To: &nbsp;"user-zh"<[hidden email]&gt;;

Subject: &nbsp;回复:在线数据质量

&nbsp;

Hi


在什么场景下需要重跑做校正呢?能描述下你的场景吗?


Best,
Yichao Yang




------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
发件人:&amp;nbsp;"wangxiangyan"<[hidden email]&amp;gt;;
发送时间:&amp;nbsp;2020年6月22日(星期一) 上午10:52
收件人:&amp;nbsp;"user-zh"<[hidden email]&amp;gt;;

主题:&amp;nbsp;在线数据质量



hi,大家的在线任务会在晚上重跑一次做校正吗?
Reply | Threaded
Open this post in threaded view
|

Re:Re:在线数据质量

程龙
逻辑是可行的 通过传入参数控制即可

















在 2020-06-22 11:06:13,"wangxiangyan" <[hidden email]> 写道:

>不确定客户的某些组件在什么时候会出故障,线上无法干预调控,如果线上oom,如何保证客户方的应用运行呢?再次启动的话,kafka中堆积很多的数据,应用启动,页面无实时数据,想的是先处理实时数据,让当前应用继续运行,再另起一个任务设置从同一个消费者组的某个时刻启动,两个任务同时运行,这样的逻辑可行吗?
>&nbsp;
>&nbsp;
>------------------&nbsp;Original&nbsp;------------------
>From: &nbsp;"Yichao Yang"<[hidden email]&gt;;
>Date: &nbsp;Mon, Jun 22, 2020 10:59 AM
>To: &nbsp;"user-zh"<[hidden email]&gt;;
>
>Subject: &nbsp;回复:在线数据质量
>
>&nbsp;
>
>Hi
>
>
>在什么场景下需要重跑做校正呢?能描述下你的场景吗?
>
>
>Best,
>Yichao Yang
>
>
>
>
>------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
>发件人:&amp;nbsp;"wangxiangyan"<[hidden email]&amp;gt;;
>发送时间:&amp;nbsp;2020年6月22日(星期一) 上午10:52
>收件人:&amp;nbsp;"user-zh"<[hidden email]&amp;gt;;
>
>主题:&amp;nbsp;在线数据质量
>
>
>
>hi,大家的在线任务会在晚上重跑一次做校正吗?
Reply | Threaded
Open this post in threaded view
|

回复:在线数据质量

Yichao Yang
In reply to this post by wangxiangyan
Hi


没理解这句话表达的是什么意思【不确定客户的某些组件在什么时候会出故障,线上无法干预调控,如果线上oom,如何保证客户方的应用运行呢?】
你们使用flink是在哪个步骤使用的,和客户的组件是什么关系,是什么情况下导致OOM然后影响了flink任务,辛苦把这部分再描述清楚些。


但是我个人理解你是想表达flink中使用了客户组件,但是客户的组件会导致flink任务OOM吗,然后你是想重启一个任务再去从上次消费的位置继续消费?


Best,
Yichao Yang




------------------&nbsp;原始邮件&nbsp;------------------
发件人:&nbsp;"wangxiangyan"<[hidden email]&gt;;
发送时间:&nbsp;2020年6月22日(星期一) 中午11:06
收件人:&nbsp;"user-zh"<[hidden email]&gt;;

主题:&nbsp;Re:在线数据质量



不确定客户的某些组件在什么时候会出故障,线上无法干预调控,如果线上oom,如何保证客户方的应用运行呢?再次启动的话,kafka中堆积很多的数据,应用启动,页面无实时数据,想的是先处理实时数据,让当前应用继续运行,再另起一个任务设置从同一个消费者组的某个时刻启动,两个任务同时运行,这样的逻辑可行吗?
&amp;nbsp;
&amp;nbsp;
------------------&amp;nbsp;Original&amp;nbsp;------------------
From: &amp;nbsp;"Yichao Yang"<[hidden email]&amp;gt;;
Date: &amp;nbsp;Mon, Jun 22, 2020 10:59 AM
To: &amp;nbsp;"user-zh"<[hidden email]&amp;gt;;

Subject: &amp;nbsp;回复:在线数据质量

&amp;nbsp;

Hi


在什么场景下需要重跑做校正呢?能描述下你的场景吗?


Best,
Yichao Yang




------------------&amp;amp;nbsp;原始邮件&amp;amp;nbsp;------------------
发件人:&amp;amp;nbsp;"wangxiangyan"<[hidden email]&amp;amp;gt;;
发送时间:&amp;amp;nbsp;2020年6月22日(星期一) 上午10:52
收件人:&amp;amp;nbsp;"user-zh"<[hidden email]&amp;amp;gt;;

主题:&amp;amp;nbsp;在线数据质量



hi,大家的在线任务会在晚上重跑一次做校正吗?
Reply | Threaded
Open this post in threaded view
|

回复:在线数据质量

Yichao Yang
In reply to this post by wangxiangyan
Hi


回复是请【回复全部】哈,否则只能发给我一个人,不会发到邮件列表
我大概明白你的意思了
1.两组consumer如果groupid相同的的话,数据只能被一组consumer消费,另一组是消费不到数据的。但是我们也可以通过一些其他方式实现你所描述的两个flink任务同时处理的情况。但是你需要确保两个任务不会消费到同样的数据导致产出重复数据,无论是手动还是自动化去维护这种处理任务的成本是很高的,并且还会吧整个系统复杂化。
2.我理解无论上游是oom还是其他原因导致的数据积压从而导致flink会有背压,这在本质上不是一种异常现象,因为上游突然有数据峰值或者大流量数据也会导致背压(导致背压的原因就是flink中有一些算子达到了处理能力瓶颈),所以我们的重点是如何去处理上游大流量数据导致的背压。
举个例子:
a.正常情况下
上游kafka是500records/s,flink整体处理能力是1000records/s,那么flink job会正常运行,下游数据正常产出;


b.由于上游oom或者其他原因(比如大流量数据等):
上游kafka变为了1500records/s(我们可以根据自己的业务,通过经验值判断出来这种情况假设只会持续60秒),flink依然是1000records/s,那么其实最后通过下面的计算方式得出:

设x :flink处理背压数据后并且能够消费到最新的offset所需要的分钟数
1500 * 1 + 500 * (x - 1) = 1000 * x&nbsp;
就可以得出 x = 2分钟
我解释下上述表达式含义:上游kafka峰值流量 * 持续1分钟 + 上游kafka正常流量 * 持续x - 1分钟 = flink 处理能力 * x分钟


结论就是flink只需要处理2分钟就能消费到最新的offset了
所以我们只需向用户保证在这种情况下,flink可以正常处理数据并且能够赶上最新的数据即可,需要告诉用户的只是说在异常情况下,最多处理2分钟(这里的2分钟是我上面计算得到的,具体几分钟要看你们的业务场景)就可以赶上最新的数据了。




------------------&nbsp;原始邮件&nbsp;------------------
发件人:&nbsp;"wangxiangyan"<[hidden email]&gt;;
发送时间:&nbsp;2020年6月22日(星期一) 中午11:06
收件人:&nbsp;"user-zh"<[hidden email]&gt;;

主题:&nbsp;Re:在线数据质量



不确定客户的某些组件在什么时候会出故障,线上无法干预调控,如果线上oom,如何保证客户方的应用运行呢?再次启动的话,kafka中堆积很多的数据,应用启动,页面无实时数据,想的是先处理实时数据,让当前应用继续运行,再另起一个任务设置从同一个消费者组的某个时刻启动,两个任务同时运行,这样的逻辑可行吗?
&amp;nbsp;
&amp;nbsp;
------------------&amp;nbsp;Original&amp;nbsp;------------------
From: &amp;nbsp;"Yichao Yang"<[hidden email]&amp;gt;;
Date: &amp;nbsp;Mon, Jun 22, 2020 10:59 AM
To: &amp;nbsp;"user-zh"<[hidden email]&amp;gt;;

Subject: &amp;nbsp;回复:在线数据质量

&amp;nbsp;

Hi


在什么场景下需要重跑做校正呢?能描述下你的场景吗?


Best,
Yichao Yang




------------------&amp;amp;nbsp;原始邮件&amp;amp;nbsp;------------------
发件人:&amp;amp;nbsp;"wangxiangyan"<[hidden email]&amp;amp;gt;;
发送时间:&amp;amp;nbsp;2020年6月22日(星期一) 上午10:52
收件人:&amp;amp;nbsp;"user-zh"<[hidden email]&amp;amp;gt;;

主题:&amp;amp;nbsp;在线数据质量



hi,大家的在线任务会在晚上重跑一次做校正吗?
Reply | Threaded
Open this post in threaded view
|

Re:在线数据质量

程龙
In reply to this post by wangxiangyan












一般都会的





在 2020-06-22 10:52:17,"wangxiangyan" <[hidden email]> 写道:
>hi,大家的在线任务会在晚上重跑一次做校正吗?