第18課:Spark Streaming中空RDD處理及流處理程序優雅的中止

本期內容:函數

1,Spark Streaming中的空RDD處理oop

2,Spark Streaming程序的中止spa

 

StreamingContext的stop方法,是當即中止,不會等待處理完已接收到的數據的。是否再調用stop方式時中止SparkContext能夠經過spark.streaming.stopSparkContextByDefault這個參數來設置。it

    在stop方法中,調用scheduler的stop方法,判斷是否中止SparkContext。spark

    在JobScheduler的stop方法中,先調用receiverTracker的stop方法,再調用jobGenerator的stop方法,而後根據是否須要等待數據處理完,分別調用jobExecutor的awaitTermination方法,等待時間爲2s或1h,最後調用listenerBus和eventLoop的stop方法。io

 

    在調用StreamingContext的start方法時,其實已經註冊了構造函數stopOnShutdown。event

 

    在stopOnShutdown方法中,還會調用stop方法,其中能夠配置spark.streaming.stopGracefullyOnShutdown來使得是否須要在中止Spark Streaming時處理完已接收到的數據。stream

相關文章
相關標籤/搜索