第5课:基于案例一节课贯通Spark Streaming流计算框架的运行源码

SparkStreaming源码解析
本文通过源码级别讲解SparkStreaming的工作原理。从构建SparkConf到创建StreamingContext,并深入探讨如何通过socket接收数据及数据处理流程。

今天早上的课是源码级别的,基于这4天的概念基础上,看看源码里是怎么运行


我們寫程序的時候會有這兩句標準語句

val conf = new SparkConf().setMaster("spark://HadoopM:7077").setAppName("WordCountOnline")

val ssc = new StreamingContext(conf, Seconds(5))

然後去看看 Streaming Context 這個 class, 其實 StreamingContext 去構建的時候,在內部會構建 Spark Context

220131_74G9_2758037.png

此時你看見它構建一個新的 Spark Context

220149_gbqb_2758037.png

這里很明顯的看到 Spark Streaming 就是 Spark Core 上的一個應用程序

220212_rX1m_2758037.png

val userClickLogsDStream = ssc.socketTextStream("Master", 9999)

220232_zj5l_2758037.png

這里new 了一個socket input DStream 然後就可以接受數據, 獲取了數據源

220246_DxG2_2758037.png

可以看到構建了一個 SocketInput 之後就會有一個 getReceiver 的方法。然後就會調用onStart 和 receive 方法,一直循環

220311_nkOu_2758037.png

220333_Ei5L_2758037.png


在這里會根據時間去生成RDD

220416_wN1f_2758037.png

220414_1SKM_2758037.png





Thanks for reading


Janice


——————————————————————————————–——————————————————
Reference: DT大数据梦工厂SPARK版本定制課程 – 第5课:基于案例一节课贯通Spark Streaming流计算框架的运行源码


Sharing is Good, Learning is Fun.

業精於勤荒於嬉 行成於思而毀於隨 -- 共勉之




转载于:https://my.oschina.net/jcchoiling/blog/672470

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值