Spark核心源碼分析與開發實戰 Spark核心源码分析与开发实战

王家林

  • 出版商: 機械工業
  • 出版日期: 2016-04-06
  • 定價: $450
  • 售價: 8.5$383
  • 語言: 簡體中文
  • 頁數: 432
  • 裝訂: 平裝
  • ISBN: 7111528603
  • ISBN-13: 9787111528609
  • 相關分類: Spark
  • 下單後立即進貨 (約4週~6週)

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

商品描述

<內容介紹>

王家林、王雁軍、王家虎編著的《Spark核心源碼分析與開發實戰》是一本全面介紹Spark以及Spark生態系統相關技術的書籍。主要內容包括Spark系統概述、Spark安裝和集群的部署、RDD編程實踐、spark的運行模式、spark的運行機制以及Spark的四大子框架(SparkSQL、spark streaming、Spark Graphx、MLlib)。本書通過理論和實踐相結合的方式對spark的核心框架和生態圈做了詳細的解讀,不僅對Spark的原理進行詳細闡述,還結合spark的源碼和案例操作介紹了Spark框架的優雅和豐富的表現力。
    本書適合大數據從業者、Spark技術愛好者閱讀。相信通過學習本書,讀者能夠熟悉和掌握Spark這一當前流行的大數據計算框架,並將其投入到實踐中去。

<章節目錄>


第1章  Spark系統概述
  1.1  Spark是什麼
  1.2  Spark生態系統BDAS
    1.2.1  Spark Core
    1.2.2  Spark SQL
    1.2.3  Spark Streaming
    1.2.4  Spark GraphX
    1.2.5  MLlib
    1.2.6  Tachyon
    1.2.7  BlinkDB
  思考題
第2章  Spark安裝和集群部署
  2.1  搭建Hadoop分佈式集群
    2.1.1  安裝VMware虛擬機
    2.1.2  安裝Ubuntu的鏡像文件
    2.1.3  安裝JDK
    2.1.4  搭建另外兩台Ubuntu系統並配置SSH免密碼登錄
    2.1.5  安裝Hadoop和搭建Hadoop分佈式集群
  2.2  Spark安裝和集群部署
    2.2.1  安裝Scala
    2.2.2  安裝Spark和集群部署
  2.3  測試Spark集群
    2.3.1  通過Spark提供的示例LocalPi測試Spark集群
    2.3.2  通過Spark Shell測試Spark集群
  思考題
第3章  Spark RDD與Spark API編程實踐
  3.1  RDD介紹
    3.1.1  RDD是Spark的核心抽象
    3.1.2  RDD的特徵
  3.2  RDD的操作分類
    3.2.1  輸入操作
    3.2.2  轉換操作
    3.2.3  行動操作
    3.2.4  控制操作
  3.3  Spark Shell下的Spark API編程實踐
    3.3.1  Local模式下實踐map、filter和collect方法
    3.3.2  集群模式下實踐textFile、sortByKey和saveAstextFile方法
    3.3.3  集群模式下實踐union、join、reduce和lookup方法
    3.3.4  搜狗日誌數據分析實踐
  3.4  基於IntelliJ IDEA使用Spark API開發應用程序
    3.4.1  搭建和設置IntelliJ IDEA開發環境
    3.4.2  在IntelliJ IDEA下開發並部署Spark應用程序
    3.4.3  使用SBT編譯Spark應用程序
    3.4.4  使用Maven構建Spark應用程序
    3.4.5  Spark工具
  思考題
第4章  Spark的運行模式
  4.1  Spark的運行模式概覽
    4.1.1  Spark的基本工作流程
    4.1.2  Spark應用程序部署

  4.2  Local模式
    4.2.1  Local模式實例部署及運行演示
    4.2.2  Local模式內部實現原理
  4.3  Standalone模式
    4.3.1  Standalone模式實例部署及運行演示
    4.3.2  Standalone模式內部實現原理
  4.4  Yarn-Cluster模式
    4.4.1  Yarn-Cluster模式實例部署及運行演示
    4.4.2  Yarn-Cluster模式內部實現原理
  4.5  Yarn-Client模式
    4.5.1  Yarn-Client模式實例部署及運行演示
    4.5.2  Yarn-Client模式內部實現原理
  4.6  Mesos模式
    4.6.1  Mesos模式實例部署及運行演示
    4.6.2  Mesos模式內部實現原理
  思考題
第5章  Spark的運行機制
  5.1  Spark集群的架構
  5.2  Spark的作業和任務調度
    5.2.1  Spark Application提交
    5.2.2  作業(Job)提交
    5.2.3  DAGScheduler劃分Stage並提交
    5.2.4  TaskScheduler提交Task
    5.2.5  Executor運行Task並返回結果
    5.2.6  Driver的處理
  5.3  容錯機制
    5.3.1  Lineage機制
    5.3.2  Checkpoint機制
  5.4  Storage存儲模塊
    5.4.1  Storage模塊整體架構
    5.4.2  緩存實現原理
    5.4.3  緩存策略
  5.5  Spark的消息傳遞機制Akka
    5.5.1  Akka架構解析
    5.5.2  Akka驅動下的start-all.sh源碼解析
  5.6  Shuffle機制
    5.6.1  Shuffle的原理
    5.6.2  Shuffle的寫操作
    5.6.3  Shuffle的讀操作
  5.7  共享變量
    5.7.1  廣播變量
    5.7.2  累加器
  5.8  Spark性能調優
    5.8.1  數據序列化
    5.8.2  內存優化
    5.8.3  其他優化方法
  思考題
第6章  Spark SQL
  6.1  Spark SQL原理和實現
    6.1.1  Spark SQL簡介

    6.1.2  Spark SQL運行架構
    6.1.3  Hive在Spark上的使用
    6.1.4  源碼解析SQL語句和HiveQL語句的執行過程
  6.2  Spark SQL的操作實例
    6.2.1  文本文件操作以及DSL操作
    6.2.2  Parquet文件以及JSON文件操作
    6.2.3  Hive數據操作演示(訂單交易數據操作)
    6.2.4  Spark SQL處理交通數據實戰
  思考題
第7章  Spark Streaming
  7.1  Spark Streaming運行原理
    7.1.1  Spark Streaming簡介
    7.1.2  編程模型DStream
    7.1.3  容錯和持久化
    7.1.4  性能調優
    7.1.5  監控應用
  7.2  源碼解析Spark Streaming的運行過程
    7.2.1  StreamingContext初始化並啟動
    7.2.2  數據接收
    7.2.3  數據處理
  7.3  Spark Streaming操作實例演示
    7.3.1  文本數據操作實例演示
    7.3.2  網絡數據操作實例——銷售模擬器演示
    7.3.3  有狀態(Stateful)操作實例演示
    7.3.4  Window操作實例演示
    7.3.5  SparkStreaming處理多源數據實戰
  思考題
第8章  Spark GraphX
  8.1  圖的定義和應用
    8.1.1  圖的定義
    8.1.2  圖的應用
  8.2  Spark GraphX簡介
    8.2.1  彈性分佈式屬性圖
    8.2.2  Spark GraphX圖的切分和存儲策略
    8.2.3  Spark GraphX圖的操作
  8.3  Spark GraphX架構
    8.3.1  Pregel圖計算框架
    8.3.2  Spark GraphX的實現
    8.3.3  Spark GraphX圖演算法的實現方法
  8.4  Spark GraphX圖操作實例
    8.4.1  基於Spark GraphX的屬性圖的操作實例
    8.4.2  Spark GraphX圖演算法操作實例
  思考題
第9章  MLlib
  9.1  機器學習簡介
    9.1.1  機器學習的定義
    9.1.2  機器學習的分類
    9.1.3  機器學習的常用演算法
  9.2  MLlib的簡介
    9.2.1  什麼是MLlib

    9.2.2  MLlib的架構
    9.2.3  MLlib的數據類型
    9.2.4  MLlib的演算法
  9.3  MLlib常用演算法操作實踐
    9.3.1  K-Means演算法解析和實踐
    9.3.2  協同過濾演算法分析和案例實踐
思考題