1. 程式人生 > >Spark原始碼分析系列(目錄)

Spark原始碼分析系列(目錄)

記錄自己學習研究 Spark 的探索過程,為後續總結奠定基礎。

本文程式碼研究以 Spark 2.3.0 原始碼為基準,如果看本文,請閱讀時,下載對應的 Spark 版本。

圖1 伯克利的資料分析軟體棧BDAS(Berkeley Data Analytics Stack)

這裡要先說BDAS(伯克利資料分析棧),是伯克利大學的AMPLab打造的用於大資料的分析的一套開源軟體棧,這其中包括了這兩年火的爆棚的Spark(Spark Core、Spark SQL、Spark Streaming、MLLib和GraphX等元件,這些元件分別處理Spark Core提供記憶體計算框架、SparkStreaming的實時處理應用、Spark SQL的即時查詢、MLlib或MLbase的機器學習和GraphX的圖處理

),也包括了冉冉升起的分散式記憶體系統Alluxio(Tachyon),當然還包括著名的資源管理的開源軟體Mesos。可以說Amplab最近幾年引領了大資料發展的技術創新的浪潮。從它的官網可以看到這張圖片,其中,有不少文字是有連結,指向各自專案的主頁的。要檢視這些連結,可以到上面BDAS的官網。

1、論文篇

2、準備篇

3、核心篇

圖2 一個 Spark 作業執行圖

1)Spark 的初始化

  • Spark 核心篇-SparkConf
  • Spark 核心篇-RpcEnv
  • Spark 核心篇-SparkStatusTracker
  • Spark 核心篇-SecurityManager
  • Spark 核心篇-SparkUI
  • Spark 核心篇-MetricsSystem

2)Spark 記憶體模型

  • ......

3)Spark 儲存體系

  • Spark 核心篇-SerializerManager
  • Spark 核心篇-BroadcastManager
  • Spark 核心篇-ShuffleManager
  • Spark 核心篇-MemoryManager
  • Spark 核心篇-NettyBlockTransferService
  • Spark 核心篇-BlockManagerMaster
  • Spark 核心篇-BlockManager

4)Spark 計算體系

  • Spark 核心篇-LiveListenerBus
  • Spark 核心篇-MapOutputTracker
  • Spark 核心篇-DAGScheduler
  • Spark 核心篇-TaskScheduler
  • Spark 核心篇-ExecutorAllocationManager
  • Spark 核心篇-OutputCommitCoordinator
  • Spark 核心篇-ContextClearner

5)Spark 執行模式

  • ......

4、元件篇

1)Spark SQL

  • ......

2)Spark Streaming

  • ......

3)Spark MLib

  • ......

4)Spark Graphx

  • ......

5、公共篇

1)Tags

相關推薦

Spark原始碼分析系列目錄

記錄自己學習研究 Spark 的探索過程,為後續總結奠定基礎。 本文程式碼研究以 Spark 2.3.0 原始碼為基準,如果看本文,請閱讀時,下載對應的 Spark 版本。 圖1 伯克利的資料分析軟體棧BDAS(Berkeley Data Analytics Stack) 這裡要先說BDAS(伯克利

Spring5原始碼分析系列Spring5原始碼分析2

本文緊接上文Spring5原始碼分析1,講解基於XML的依賴注入,文章參考自Tom老師視訊,下一篇文章將介紹基於Annotation的依賴注入。 基於XML的依賴注入 1、依賴注入發生的時間 當SpringIOC容器完成了Bean定義資源的定位、載入和解析註冊以後,IO

Spring5原始碼分析系列Spring事務原理詳解

終於等到了B站的薪資溝通電話,美滋滋,本節開始進入Spring資料訪問篇,講解spring事務,文章參考自Tom老師視訊。 事務基本概念 事務(Transaction)是訪問並可能更新資料庫中各種資料項的一個程式執行單元(unit)。 特點: 事務是恢復和併發控制的基

開源中國APP Android端原始碼分析系列

簡述 這篇文章是基於OSCHINA Android客戶端4.1.7版本的分析,之前很多人都分析過原始碼,但是都是幾年前的程式碼分析,隨著時間的推移,開源中國的原始碼也在變化,接下來的一段時間我將分享我通過學習開源中國的程式碼所獲得東西。 啟動頁面 研究一個A

DbUtils原始碼分析系列

DbUtils原始碼結構 下面簡單描述一下每個包資訊: org.apache.commons.dbutils.handlers 提供ResultSetHandler介面實現,預設提供了10種實現。 ResultSetHandler

Spring原理與原始碼分析系列- Spring AOP實現過程與實戰

二、Spring AOP 1、什麼是Spring AOP Spring AOP是Spring核心框架的重要組成部分,採用Java作為AOP的實現語言。與AspectJ實現AOP方式不同之處在於,Spring AOP僅支援方法級別的攔截。 2、

QEMU原始碼分析系列

  從QEMU-0.10.0開始,TCG成為QEMU新的翻譯引擎,使QEMU不再依賴於GCC3.X版本,並且做到了“真正”的動態翻譯(從某種意義上說,舊版本是從編譯後的目標檔案中複製二進位制指令)。TCG的全稱為“Tiny Code Generator”,QEMU的作者Fa

Spring5原始碼分析系列IOC容器

本章開始進入Spring5原始碼分析,文章有點長,參考自Tom老師視訊。 什麼是IOC/DI? IOC(InversionofControl)控制反轉:所謂控制反轉,就是把原先我們程式碼裡面需要實現的物件建立、依賴的程式碼,反轉給容器來幫忙實現。那麼必然的我們需要建立一個

Spring5原始碼分析系列SpringAOP設計原理及應用場景

本章開始講解SpringAOP設計原理及應用場景,文章參考自Tom老師視訊~~ SpringAOP應用示例 AOP是OOP的延續,是AspectOrientedProgramming的縮寫,意思是面向切面程式設計。可以通過預編譯方式和執行期動態代理實現在不修改原始碼的情況

iOS Block原始碼分析系列————2分鐘明白Block究竟是什麼?

Block其實就是C語言的擴充功能,實現了對C的閉包實現,一個帶有區域性變數的匿名函式。Block的語法,型別介紹我這裡就不BB了,網上太多了,全是介紹怎麼寫的,這裡開幾篇部落格來看看block的原始碼和內部實現結構,網上寫的很亂很雜,而且都不全,自己買了本書,開搞!!!!!

Hadoop Yarn原始碼閱讀系列Yarn原始碼目錄組織結構

Hadoop Yarn分為5部分:API、Common、Applications、Client和Server,他們的內容具體如下: YARN API(hadoop-yarn-api目錄):給出了YARN記憶體涉及的4個主要RPC協議的Java宣告和Protocol Buffers定義,這4個RP

源碼分析系列x264_ratecontrol_dataflow

技術 stc 碼率控制 碼率 targe article nbsp target 緩沖區 http://www.cnblogs.com/xkfz007/articles/2616159.html 碼率控制部分關鍵函數 5.1 x264_ratecontrol_star

源碼分析系列x264_main_dataflow

images 9.png 所有 malloc 控制 相關 .com 圖1 memory http://www.cnblogs.com/xkfz007/articles/2616153.html 幀內幀間編碼部分關鍵函數 1.1 x264_encoder_open (x

源碼分析系列x264_nal_dataflow

以及 生成 taf inf enc logs can data 碼率 http://www.cnblogs.com/xkfz007/articles/2616158.html NAL部分關鍵函數 4.1 int x264_nal_encode( void *, int

源碼分析系列x264_deblocking_dataflow

像素 色度 結構 inf blank 水平 frame 垂直 左右 http://www.cnblogs.com/xkfz007/articles/2616157.html 去塊濾波(Deblocking)部分關鍵函數 3.1 deblocking_filter_ed

2018年ElasticSearch6.2.2教程ELK搭建日誌采集分析系統目錄

1.2 安裝包 接口 語句 參數配置 介紹 ofo 計劃 裝包 章節一 2018年 ELK課程計劃和效果演示 1、課程安排和效果演示 簡介:課程介紹和主要知識點說明,ES搜索接口演示,部署的ELK項目演示 章節二 elasticSearch 6.2版本基礎講

SNMP原始碼分析配置檔案部分

snmpd.conf想必不陌生。在程序啟動過程中會去讀取配置檔案中各個配置。其中幾個引數需要先知道是幹什麼的:   token:配置檔案的每行的開頭,例如 group MyROGroup v1 readSec 這行token的引數是group。  

Hadoop Yarn原始碼閱讀系列Yarn架構

Yarn的基本思想是將JobTracker的兩大主要職能:資源管理、作業排程/監控拆分為兩個獨立的程序:一個全域性的ResourceManager和與每個應用對應的ApplicationMaster(AM)。ResourceManager和每個節點的NodeManager(NM)組成了全新的通用作業

Spark採坑系列Spark操作Hive的坑

跟著教學試著用Idea程式設計,實現Spark查詢Hive中的表。結果上來就涼了。 搗鼓好久都不行,在網上查有說將hive-site.xml放到resource目錄就行,還有什麼hadoop針對windows使用者的許可權問題,結果都是扯淡。 其實問題還是處在程式碼上,直接附上程式碼了

Spark採坑系列使用Scala編寫的工程Maven打包沒有Scala檔案

新增下面的maven Scala編譯支援 <plugin>     <groupId>net.alchim31.maven</groupId>    <artifactId>scala-maven-