Spark 技術內幕 (深入解析Spark內核架構設計與實現原理)

張安站

  • 出版商: 機械工業
  • 出版日期: 2015-09-01
  • 定價: $294
  • 售價: 8.5$250
  • 語言: 簡體中文
  • 頁數: 201
  • ISBN: 7111509641
  • ISBN-13: 9787111509646
  • 相關分類: Spark
  • 已絕版

買這商品的人也買了...

商品描述

 

<內容簡介>

Spark是不斷壯大的大數據分析解決方案家族中備受關註的新成員。它不僅為分佈式數據集的處理提供了一個有效框架,而且以高效的方式處理分佈式數據集。它支持實時處理、流處理和批處理,提供了統一的解決方案,因此極具競爭力。張安站所著的《Spark技術內幕(深入解析Spark內核架構設計與實現原理)》以源碼為基礎,深入分析Spark內核的設計理念和架構實現,系統講解各個核心模塊的實現,為性能調優、二次開發和系統運維提供理論支持,為更好地使用Spark Streaming、MLlib、Spark SQL和Graphx等奠定基礎。

 

<章節目錄>


前言
第1章  Spark簡介
  1.1  Spark的技術背景
  1.2  Spark的優點
  1.3  Spark架構綜述
  1.4  Spark核心組件概述
    1.4.1  Spark Streaming
    1.4.2  MLlib
    1.4.3  Spark SQL
    1.4.4  GraphX
  1.5  Spark的整體代碼結構規模
第2章  Spark學習環境的搭建
  2.1  源碼的獲取與編譯
    2.1.1  源碼獲取
    2.1.2  源碼編譯
  2.2  構建Spark的源碼閱讀環境
  2.3  小結
第3章  RDD實現詳解
  3.1  概述
  3.2  什麼是
    3.2.1  RDD的創建
    3.2.2  RDD的轉換
    3.2.3  RDD的動作
    3.2.4  RDD的緩存
    3.2.5  RDD的檢查點
  3.3  RDD的轉換和DAG的生成
    3.3.1  RDD的依賴關係
    3.3.2  DAG的生成
    3.3.3  Word Count的RDD轉換和DAG劃分的邏輯視圖
  3.4  RDD的計算
    3.4.1  Task簡介
    3.4.2  Task的執行起點
    3.4.3  緩存的處理
    3.4.4  checkpoint的處理
    3.4.5  RDD的計算邏輯
  3.5  RDD的容錯機制
  3.6  小結
第4章  Scheduler 模塊詳解
  4.1  模塊概述
    4.1.1  整體架構
    4.1.2  Scheduler的實現概述
  4.2  DAGScheduler實現詳解
    4.2.1  DAGScheduler的創建
    4.2.2  Job的提交
    4.2.3  Stage的劃分
    4.2.4  任務的生成
  4.3  任務調度實現詳解
    4.3.1  TaskScheduler的創建
    4.3.2  Task的提交概述

    4.3.3  任務調度具體實現
    4.3.4  Task運算結果的處理
  4.4  Word Count調度計算過程詳解
  4.5  小結
第5章  Deploy模塊詳解
  5.1  Spark運行模式概述
    5.1.1  local
    5.1.2  Mesos
    5.1.3  YARN
  5.2  模塊整體架構
  5.3  消息傳遞機制詳解
    5.3.1  Master和Worker
    5.3.2  Master和Client
    5.3.3  Client和Executor
  5.4  集群的啟動
    5.4.1  Master的啟動
    5.4.2  Worker的啟動
  5.5  集群容錯處理
    5.5.1  Master 異常退出
    5.5.2  Worker異常退出
    5.5.3  Executor異常退出
  5.6  Master HA實現詳解
    5.6.1  Master啟動的選舉和數據恢復策略
    5.6.2  集群啟動參數的配置
    5.6.3  Curator Framework簡介
    5.6.4  Zoo Keeper Leader Election Agent的實現
  5.7  小結
第6章  Executor模塊詳解
  6.1  Standalone模式的Executor分配詳解
    6.1.1  SchedulerBackend創建AppClient
    6.1.2  AppClient向Master註冊Application
    6.1.3  Master根據AppClient的提交選擇Worker
    6.1.4  Worker根據Master的資源分配結果創建Executor
  6.2  Task的執行
    6.2.1  依賴環境的創建和分發
    6.2.2  任務執行
    6.2.3  任務結果的處理
    6.2.4  Driver端的處理
  6.3  參數設置
    6.3.1  spark.executor.memory
    6.3.2  日誌相關
    6.3.3  spark.executor.heartbeatInterval
  6.4  小結
第7章  Shuffle模塊詳解
  7.1  Hash Based Shuffle
    7.1.1  Basic Shuffle Writer實現解析
    7.1.2  存在的問題
    7.1.3  Shuffle Consolidate Writer
    7.1.4  小結
  7.2  Shuffle Pluggable 框架

    7.2.1  org.apache.spark.shuffle.ShuffleM
    7.2.2  org.apache.spark.shuffle.Shuffle
    7.2.3  org.apache.spark.shuffle.ShuffleBlockM
    7.2.4  org.apache.spark.shuffle.Shuffle
    7.2.5  如何開發自己的Shuffle機制
  7.3  Sort Based
  7.4  Shuffle Map Task運算結果的處理
    7.4.1  Executor端的處理
    7.4.2  Driver端的處理
  7.5  Shuffl
    7.5.1  整體流程
    7.5.2  數據讀取策略的劃分
    7.5.3  本地讀取
    7.5.4  遠程讀取
  7.6  性能調優
    7.6.1  spark.shuffle.manager
    7.6.2  spark.shuffle
    7.6.3  spark.shuffle.memory Fraction和spark.shuffle.safetFraction
    7.6.4  spark.shuffle.sort.bypassMergeThreshold
    7.6.5  spark.shuffle.blockTransferService
    7.6.6  spark.shuffle.consolidateFiles
    7.6.7  spark.shuffle.compress和 spark.shuffle.spill.compress
    7.6.8  spark.reducer.maxMbInFlight
  7.7  小結
第8章  Storage模塊詳解
  8.1  模塊整體架構
    8.1.1  整體架構
    8.1.2  源碼組織結構
    8.1.3  Master 和Slave的消息傳遞詳解
  8.2  存儲實現詳解
    8.2.1  存儲級別
    8.2.2  模塊類圖
    8.2.3  org.apache.spark.storage.DiskStore實現詳解
    8.2.4  org.apache.spark.storage.MemoryStore實現詳解
    8.2.5  org.apache.spark.storage.TachyonStore實現詳解
    8.2.6  Block存儲的實現
  8.3  性能調優
    8.3.1  spark.local.dir
    8.3.2  spark.executor.memory
    8.3.3  spark.storage.memoryFraction
    8.3.4  spark.streaming.blockInterval
  8.4  小結
第9章  企業應用概述
  9.1  Spark在百度
    9.1.1  現狀
    9.1.2  百度開放雲BMR的Spark
    9.1.3  在Spark中使用Tachyon
  9.2  Spark在阿裡
  9.3  Spark在騰訊
  9.4  小結

 

<作者介紹>

張安站
張安站,2008年本科畢業於天津大學,2011年研究生畢業於南開大學,畢業後加入EMC中國卓越研發集團,從事商業存儲系統控制模塊的研發。2014年7月加入百度上海研發中心,從事分佈式系統架構相關工作,當前負責NLP Cloud(為公司內用戶提供NLP核心演算法的雲平臺)和Sofa Cloud(為策略服務化提供一站式解決方案的雲平臺)兩個計算方向。目前專註分佈式資源管理和大數據處理平臺等相關技術。