第21课:Spark Streaming中动态Batch Size深入及RateController
本期内容:
1,动态Batch Size深入
2,RateController解析
Spark Streaming中采用的模型如下,基本思想是按照100ms的批次发送数据给Controller,刚开始Controller直接转给JobGenerator,JobGenerator在生成Job,交给JobProcessor来处理,JobProcessor将job统计信息发送给Controller,Controller接收到统计信息,会动态改变Batch Size来给Job发送数据。
RateController的子类有ReceiverRateController、DirectKafkaRateController。
ReceiverRateController会向receiverTracker发送UpdateReceiverRateLimit消息。
ReceiverTracker接收到UpdateReceiverRateLimit消息后,向ReceiverSupervisorImpl转发UpdateRateLimit消息。
ReceiverSupervisorImpl接收到UpdateRateLimit消息后,调用BlockGenerator的updateRate方法,来控制数据的接收速度。
BlockGenerator继承自RateLimiter。
转载于:https://my.oschina.net/u/928448/blog/689404