千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  应聘面试  >  大数据面试题  > 解决数据积压(重点)

解决数据积压(重点)

来源:千锋教育
发布人:wjy
时间: 2022-09-02 15:31:48 1662103908

起因sparkStream作为一个微流处理框架,每批次处理数据的时间应尽可能地接近批次间隔时间,才能保证流处理的高效和稳定。

批处理时间<<批间隔时间:流量太小,集群闲置,浪费资源,批处理时间>>批间隔时间:流量太大,集群繁忙,数据积压导致系统崩溃#####通过设置spark.streaming.kafka.maxRatePerPartition可以静态调整每次拉取的最大流量,但是需要重启集群。 

背压机制,不需要重启集群就能根据当前系统的处理速度智能地调节流量阈值的方案。

设置spark.streaming.backpressure.enabled为true开启反压机制后,sparkStreaming会根据上批次和本批次的处理速率,自动估算出下批次的流量阀值,我们可以通过改变几个增益比例来调控它的自动估算模型。

它的底层采用的是Guava的令牌桶算法实现的限流:程序到桶里取令牌,如果取到令牌就缓存数据,取不到就阻塞等待。通过改变放令牌的速度即可实现流量控制。

其它方案 1. 如果增加kafka的分区数,spark也会增加相应数目的消费者去拉取,可以提升拉取效率; 

2. 如果降低批次间隔时间,每次拉取的数据量会减少,可以提升处理数据的速度,差距的间隔时间可以通过窗口来弥补。

解决数据积压

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT