原创 spark core源碼分析13 異常情況下的容錯保證

博客地址: http://blog.csdn.net/yueqian_zhu/ standalone模式下的框架圖如下: 異常分析1: worker異常退出 worker異常退出,比如說有意識的通過kill指令將worke

原创 spark core源碼分析12 spark緩存清理

博客地址: http://blog.csdn.net/yueqian_zhu/ spark緩存清理機制: MetadataCleaner對象中有一個定時器,用於清理下列的元數據信息: MAP_OUTPUT_TRACKER:Maptas

原创 spark core源碼分析7 Executor的運行

博客地址: http://blog.csdn.net/yueqian_zhu/ 實際任務的運行,都是通過Executor類來執行的。這一節,我們只介紹Standalone模式。 源碼位置:org.apache.spark.executo

原创 spark core源碼分析6 Spark job的提交

博客地址: http://blog.csdn.net/yueqian_zhu/ 本節主要講解SparkContext的邏輯 首先看一個spark自帶的最簡單的例子: object SparkPi { def main(args:

原创 spark core源碼分析9 從簡單例子看action操作

博客地址: http://blog.csdn.net/yueqian_zhu/ 上一節舉例講解了transformation操作,這一節以reduce爲例講解action操作 首先看submitJob方法,它將我們reduce中寫的處理

原创 spark core源碼分析14 參數配置

博客地址: http://blog.csdn.net/yueqian_zhu/ spark 參數詳解 spark參數配置優先級:SparkConf > CLI > spark-defaults.conf > spak-env.sh

原创 spark streaming源碼分析2 從簡單例子看DStream上的operation

博客地址: http://blog.csdn.net/yueqian_zhu/ 先貼一下上一節的例子 object NetworkWordCount { def main(args: Array[String]) { i

原创 spark core源碼分析16 Shuffle詳解-讀流程

博客地址: http://blog.csdn.net/yueqian_zhu/ shuffle的讀流程也是從compute方法開始的 override def compute(split: Partition, context: Tas

原创 spark streaming源碼分析3 調度及運行

博客地址: http://blog.csdn.net/yueqian_zhu/ 前面的兩節內容介紹了StreamingContext的構造以及在此上的一系列操作。 通過調用start方法,真正開始調度執行。首先校驗狀態是否是INIT

原创 spark core源碼分析5 spark提交框架

博客地址: http://blog.csdn.net/yueqian_zhu/ 源碼位置: org.apache.spark.deploy.SparkSubmit.SparkSubmit.scala 這裏解析參數,包括提交jar包的m

原创 spark core源碼分析3 Master HA

博客地址: http://blog.csdn.net/yueqian_zhu/ 這一節講解master 選舉以及之後的處理流程 上一節說到在Master啓動過程中,首先調用了 Akka actor的preStart方法。 overri

原创 spark streaming源碼分析1 StreamingContext

博客地址: http://blog.csdn.net/yueqian_zhu/ 首先看一個最簡單的例子,瞭解大致的樣子: object NetworkWordCount { def main(args: Array[String

原创 spark core源碼分析17 RDD相關API

博客地址: http://blog.csdn.net/yueqian_zhu/ 一、RDD創建的操作(SparkContext.scala) 1、從內存集合中創建RDD,RDD中包含的是類型爲T的集合 def parallelize[

原创 spark core源碼分析15 Shuffle詳解-寫流程

博客地址: http://blog.csdn.net/yueqian_zhu/ Shuffle是一個比較複雜的過程,有必要詳細剖析一下內部寫的邏輯 ShuffleManager分爲SortShuffleManager和HashShuf

原创 spark core源碼分析11 RDD緩存及checkpoint

博客地址: http://blog.csdn.net/yueqian_zhu/ RDD有cache和persist方法,用於將RDD進行緩存。 cache方法其實就是persist(MEMORY_ONLY) 我們看一下這個方法幹了什麼