Spark Streaming核心概念一(StreamingContext)
阿新 • • 發佈:2019-02-07
一、StreamingContext
初始化一個Spark Streaming程式時必須要建立StreamingContext作為程式的入口。
example:
import org.apache.spark._
import org.apache.spark.streaming._
import org.apache.spark.streaming.StreamingContext._ // not necessary since Spark 1.3
// Create a local StreamingContext with two working thread and batch interval of 1 second.
// The master requires 2 cores to prevent a starvation scenario.
val conf = new SparkConf().setMaster("local[2]").setAppName("NetworkWordCount")
val ssc = new StreamingContext(conf, Seconds(1)) //Seconds(1)設定切分的批次,必須設定,多久執行一次,根據需求和叢集資源確定
二、StreamingContext的使用
一旦StreamingContext定義好以後,就可以做如下的事情
1定義輸入源通過建立輸入DStreams
2.定義流的操作使用transformation輸出操作到Dsteams
3.開始接收資料和進行啟動streamingContext.start()
4.等待程序的停止streamingContext.awaitTermination()或者手動停止streamingContext.stop().
注意事項:
StreamingContext啟動後,新的流計算將部能被新增設定
StreamingContext停止在後,不能重啟,可以把整個作業停掉,在重啟。
只有一個StreamingContext被啟用在JVM同一個時間點