第18课:Spark Streaming中空RDD处理及流处理程序优雅的停止

本期内容:

1,Spark Streaming中的空RDD处理

2,Spark Streaming程序的停止

 

StreamingContext的stop方法,是立即停止,不会等待处理完已接收到的数据的。是否再调用stop方式时停止SparkContext可以通过spark.streaming.stopSparkContextByDefault这个参数来设置。

    在stop方法中,调用scheduler的stop方法,判断是否停止SparkContext。

    在JobScheduler的stop方法中,先调用receiverTracker的stop方法,再调用jobGenerator的stop方法,然后根据是否需要等待数据处理完,分别调用jobExecutor的awaitTermination方法,等待时间为2s或1h,最后调用listenerBus和eventLoop的stop方法。

 

    在调用StreamingContext的start方法时,其实已经注册了构造函数stopOnShutdown。

 

    在stopOnShutdown方法中,还会调用stop方法,其中可以配置spark.streaming.stopGracefullyOnShutdown来使得是否需要在停止Spark Streaming时处理完已接收到的数据。

 

转载于:https://my.oschina.net/u/928448/blog/689166

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值