今天早上的课是源码级别的,基于这4天的概念基础上,看看源码里是怎么运行
我們寫程序的時候會有這兩句標準語句
val conf = new SparkConf().setMaster("spark://HadoopM:7077").setAppName("WordCountOnline") val ssc = new StreamingContext(conf, Seconds(5)) |
然後去看看 Streaming Context 這個 class, 其實 StreamingContext 去構建的時候,在內部會構建 Spark Context
此時你看見它構建一個新的 Spark Context
這里很明顯的看到 Spark Streaming 就是 Spark Core 上的一個應用程序
val userClickLogsDStream = ssc.socketTextStream("Master", 9999) |
這里new 了一個socket input DStream 然後就可以接受數據, 獲取了數據源
可以看到構建了一個 SocketInput 之後就會有一個 getReceiver 的方法。然後就會調用onStart 和 receive 方法,一直循環
在這里會根據時間去生成RDD
Thanks for reading
Janice
——————————————————————————————–——————————————————
Reference: DT大数据梦工厂SPARK版本定制課程 – 第5课:基于案例一节课贯通Spark Streaming流计算框架的运行源码
Sharing is Good, Learning is Fun.
業精於勤荒於嬉 行成於思而毀於隨 -- 共勉之