【技术实现步骤摘要】
一种缓解Flink中实时流数据处理偏斜的方法
[0001]本专利技术涉及大数据处理
,具体为一种一种缓解Flink中实时流数据处理偏斜的方法。
技术介绍
[0002]随着近年来,随着互联网和计算机技术的快速发展,越来越多的企业和学术机构选择Flink来处理日益增长的海量数据。Flink是一个实时流处理的计算引擎,提供了大量的API,适用于处理大规模的数据。
[0003]数据倾斜是大数据计算过程中常见的一个问题,其指的是集群在执行大数据任务过程中,由于数据的Key不够分散,从而导致大量的数据集中到集群中的一个或几个算子上;使得这些算子的处理速度远低于平均的处理速度,拖慢整个任务执行过程;若倾斜数据超过算子的内存上限,甚至会使该算子宕机,导致整个任务中断。
[0004]应对数据倾斜问题,需要对算子分发Key的方式进行优化,打散数据倾斜中的热点Key,将数据均匀的分发到各个下游算子上,从而来达到消除性能瓶颈的目的。
[0005]然而,在Flink框架中没有针对各个算子有效的监控处理指标,当作业的业务量 ...
【技术保护点】
【技术特征摘要】
1.一种缓解Flink中实时流数据处理偏斜的方法,其特征在于,包括以下步骤:步骤1,监测模块实时计算集群中各算子的综合负载评分,并根据综合负载评分判断是否有算子出现负载的情况;步骤2,监测模块发现集群中有算子出现负载后,收集其下游算子的热点Key分布等必要信息,判断导致该算子负载的原因是否是数据倾斜;步骤3,调度模块根据集群中当前算子的运行状态,为发生数据倾斜的算子划分热点路由表,并对所有热点路由表计算负载均衡收益,选择收益最高的热点路由表发送给JobManager;步骤4,JobManager将热点路由表发送给出现数据倾斜的对应算子,算子按照规则根据热点路由表与普通路由表给下游算子分发后续的Key,以缓解数据倾斜情况。2.如权利要求1所述的一种缓解Flink中实时流数据处理偏斜的方法,其特征在于,所述步骤1具体包括:步骤1.1,监测模块通过监控器每隔2秒采集各算子的资源利用情况,如CPU利用率、内存利用率、磁盘IO利用率;步骤1.2,根据各算子的资源利用情况,计算各算子各自的综合负载评分:其中为算子i的Cpu的负载评分,为算子i的内存的负载评分,为算子i的IO的负载评分,α、γ、β为各资源的比例系数,α+γ+β=1;在综合负载评分中,关于CPU的负载评分为:该公式表示了算子i的CPU利用率在所有算子CPU利用率中的占比,Cpu
i
表示算子i的Cpu利用率,表示所有算子的Cpu利用率之和;在综合负载评分中,关于内存的负载评分为:该公式表示了算子i的内存利用率在所有算子内存利用率中的占比,Mem
i
表示算子i的内存利用率,表示所有算子的内存利用率之和;在在综合负载评分中,关于磁盘IO的负载评分为:该公式表示了算子i的IO利用率在所有算子IO利用率中的占比,IO
i
表示算子i的IO利用率,表示所有算子的IO利用率之和;
步骤1.3,计算集群中算子的最大负载评分和最小负载评分的比值:l=Score
max
/Score
min
并判断是否超过预设的阈值ρ,若l>ρ则代表在此时刻,集群中很可能有算子出现了性能瓶颈。3.如权利要求1所述的一种缓解Flink中实时流数据处理偏斜的方法,其特征在于,所述步骤2具体包括:步骤2.1,监测模块获取综合负载评分排行前几的算子及其下游算子的热点Key的数量等信息;步骤2....
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。