Spark核心源碼分析與開發實戰

Spark核心源碼分析與開發實戰
定價:450
NT $ 392
 

內容簡介

本書是一本全面介紹Spark以及Spark生態系統相關技術的書籍。主要內容包括Spark系統概述、Spark安裝和集群的部署、RDD的編程實踐、Spark的運行模式、Spark的運行機制以及Spark的四大子框架(Spark SQL、Spark Streaming、SparkGraphX、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 協同過濾算法分析和案例實踐
思考題

網路書店 類別 折扣 價格
  1. 新書
    87
    $392