spark streaming流量控制

本文探讨了Spark Streaming在实时流计算中的流量控制,旨在维持系统稳定性和提高吞吐量。介绍了流控目标,强调在稳定性、吞吐量和延迟之间的平衡。Spark Streaming通过调整数据流入速率实现流控,并采用PID算法进行速率估计。PID算法的误差计算和积分部分涉及调度延迟和误差微分,以确保更敏捷和准确的流控效果。
摘要由CSDN通过智能技术生成

随着计算机机硬件的快速发展,机器的内存大小也从原来的以兆为单位到现在的上百G,这也推动了分布式计算从原来的基于硬盘存储发展到现在的基于内存存储,spark作为实时计算的佼佼者也逐渐的走上了大规模商业应用的道路,spark streaming常常用在实时流计算的各个领域,在这一章节我们主要讲解一下streaming处理过程中的流量控制,在我们平时的streaming程序开发过程中应该注意哪些方面以提高程序的吞吐量


流控的目标
系统进行流控的主要目的是维护系统的稳定性,避免大流量数据的处理造成系统的扰动,最终导致系统宕机;流式处理平台系统在进行流控设计时,需要综合考虑稳定性、吞吐量、端到端的延迟,流控经常是在这三者之间做选择;
spark streaming流控
spark streaming程序通常是以指定时间间隔(batch interval)周期性的处理这个时间片内的批量数据,在这种场景下,稳定性指定的是这批数据必须在当前这个周期内处理完毕,系统最大吞吐量为处理时间等于时间间隔时的数据流量;由于spark streaming的周期在系统启动的时候就已经确定了,其流控退化为调整数据的流入速率以最大的提高系统的吞吐量;线上的streaming程序的处理时间和数据的批量大小并没有固定的规律可循,同时一个其他的突发因素(如发生GC)也会影响到数据的处理速率;spark streaming的流控需要做的是基于过去一段时间内的已经处理完成的批量数据来推算出下一个周期内应该处理的数据量,另外,一个好的流控算法需要更敏捷、更准确、更通用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值