第一篇 基礎篇
第1章 Spark及其生態圈概述
1.1 Spark簡介
1.1.1 什麼是Spark
1.1.2 Spark與MapReduce比較
1.1.3 Spark的演進路綫圖
1.2 Spark生態係統
1.2.1 Spark Core
1.2.2 Spark Streaming
1.2.3 Spark SQL
1.2.4 BlinkDB
1.2.5 MLBase/MLlib
1.2.6 GraphX
1.2.7 SparkR
1.2.8 Alluxio
1.3 小結
第2章 搭建Spark實戰環境
2.1 基礎環境搭建
2.1.1 搭建集群樣闆機
2.1.2 配置集群環境
2.2 編譯Spark源代碼
2.2.1 配置Spark編譯環境
2.2.2 使用Maven編譯Spark
2.2.3 使用SBT編譯Spark
2.2.4 生成Spark部署包
2.3 搭建Spark運行集群
2.3.1 修改配置文件
2.3.2 啓動Spark
2.3.3 驗證啓動
2.3.4 第一個實例
2.4 搭建Spark實戰開發環境
2.4.1 CentOS中部署IDEA
2.4.2 使用IDEA開發程序
2.4.3 使用IDEA閱讀源代碼
2.5 小結
第二篇 核心篇
第3章 Spark編程模型
3.1 RDD概述
3.1.1 背景
3.1.2 RDD簡介
3.1.3 RDD的類型
3.2 RDD的實現
3.2.1 作業調度
3.2.2 解析器集成
3.2.3 內存管理
3.2.4 檢查點支持
3.2.5 多用戶管理
3.3 編程接口
3.3.1 RDD分區(Partitions)
3.3.2 RDD首選位置(PreferredLocations)
3.3.3 RDD依賴關係(Dependencies)
3.3.4 RDD分區計算(Iterator)
3.3.5 RDD分區函數(Partitioner)
3.4 創建操作
3.4.1 並行化集閤創建操作
3.4.2 外部存儲創建操作
3.5 轉換操作
3.5.1 基礎轉換操作
3.5.2 鍵值轉換操作
3.6 控製操作
3.7 行動操作
3.7.1 集閤標量行動操作
3.7.2 存儲行動操作
3.8 小結
第4章 Spark核心原理
4.1 消息通信原理
4.1.1 Spark消息通信架構
4.1.2 Spark啓動消息通信
4.1.3 Spark運行時消息通信
4.2 作業執行原理
4.2.1 概述
4.2.2 提交作業
4.2.3 劃分調度階段
4.2.4 提交調度階段
4.2.5 提交任務
4.2.6 執行任務
4.2.7 獲取執行結果
4.3 調度算法
4.3.1 應用程序之間
4.3.2 作業及調度階段之間
4.3.3 任務之間
4.4 容錯及HA
4.4.1 Executor異常
4.4.2 Worker異常
4.4.3 Master異常
4.5 監控管理
4.5.1 UI監控
4.5.2 Metrics
4.5.3 REST
4.6 實例演示
4.6.1 計算年降水實例
4.6.2 HA配置實例
4.7 小結
第5章 Spark存儲原理
5.1 存儲分析
5.1.1 整體架構
5.1.2 存儲級彆
5.1.3 RDD存儲調用
5.1.4 讀數據過程
5.1.5 寫數據過程
5.2 Shuffle分析
5.2.1 Shuffle簡介
5.2.2 Shuffle的寫操作
5.2.3 Shuffle的讀操作
5.3 序列化和壓縮
5.3.1 序列化
5.3.2 壓縮
5.4 共享變量
5.4.1 廣播變量
5.4.2 纍加器
5.5 實例演示
5.6 小結
第6章 Spark運行架構
6.1 運行架構總體介紹
6.1.1 總體介紹
6.1.2 重要類介紹
6.2 本地(Local)運行模式
6.2.1 運行模式介紹
6.2.2 實現原理
6.3 僞分布(Local-Cluster)運行模式
6.3.1 運行模式介紹
6.3.2 實現原理
6.4 獨立(Standalone)運行模式
6.4.1 運行模式介紹
6.4.2 實現原理
6.5 YARN運行模式
6.5.1 YARN運行框架
6.5.2 YARN-Client運行模式介紹
6.5.3 YARN-Client 運行模式實現原理
6.5.4 YARN-Cluster運行模式介紹
6.5.5 YARN-Cluster 運行模式實現原理
6.5.6 YARN-Client與YARN-Cluster對比
6.6 Mesos運行模式
6.6.1 Mesos介紹
6.6.2 粗粒度運行模式介紹
6.6.3 粗粒度實現原理
6.6.4 細粒度運行模式介紹
6.6.5 細粒度實現原理
6.6.6 Mesos粗粒度和Mesos細粒度對比
6.7 實例演示
6.7.1 獨立運行模式實例
6.7.2 YARN-Client實例
6.7.3 YARN-Cluster實例
6.8 小結
第三篇 組件篇
第7章 Spark SQL
7.1 Spark SQL簡介
7.1.1 Spark SQL發展曆史
7.1.2 DataFrame/Dataset介紹
7.2 Spark SQL運行原理
7.2.1 通用SQL執行原理
7.2.2 SparkSQL運行架構
7.2.3 SQLContext運行原理分析
7.2.4 HiveContext介紹
7.3 使用Hive-Console
7.3.1 編譯Hive-Console
7.3.2 查看執行計劃
7.3.3 應用Hive-Console
7.4 使用SQLConsole
7.4.1 啓動HDFS和Spark Shell
7.4.2 與RDD交互操作
7.4.3 讀取JSON格式數據
7.4.4 讀取Parquet格式數據
7.4.5 緩存演示
7.4.6 DSL演示
7.5 使用Spark SQL CLI
7.5.1 配置並啓動Spark SQL CLI
7.5.2 實戰Spark SQL CLI
7.6 使用Thrift Server
7.6.1 配置並啓動Thrift Server
7.6.2 基本操作
7.6.3 交易數據實例
7.6.4 使用IDEA開發實例
7.7 實例演示
7.7.1 銷售數據分類實例
7.7.2 網店銷售數據統計
7.8 小結
第8章 Spark Streaming
8.1 Spark Streaming簡介
8.1.1 術語定義
8.1.2 Spark Streaming特點
8.2 Spark Streaming編程模型
8.2.1 DStream的輸入源
8.2.2 DStream的操作
8.3 Spark Streaming運行架構
8.3.1 運行架構
8.3.2 消息通信
8.3.3 Receiver分發
8.3.4 容錯性
8.4 Spark Streaming運行原理
8.4.1 啓動流處理引擎
8.4.2 接收及存儲流數據
8.4.3 數據處理
8.5 實例演示
8.5.1 流數據模擬器
8.5.2 銷售數據統計實例
8.5.3 Spark Streaming+Kafka實例
8.6 小結
第9章 Spark MLlib
9.1 Spark MLlib簡介
9.1.1 Spark MLlib介紹
9.1.2 Spark MLlib數據類型
9.1.3 Spark MLlib基本統計方法
9.1.4 預言模型標記語言
9.2 綫性模型
9.2.1 數學公式
9.2.2 綫性迴歸
9.2.3 綫性支持嚮量機
9.2.4 邏輯迴歸
9.2.5 綫性最小二乘法、Lasso和嶺迴歸
9.2.6 流式綫性迴歸
9.3 決策樹
9.4 決策模型組閤
9.4.1 隨機森林
9.4.2 梯度提升決策樹
9.5 樸素貝葉斯
9.6 協同過濾
9.7 聚類
9.7.1 K-means
9.7.2 高斯混閤
9.7.3 快速迭代聚類
9.7.4 LDA
9.7.5 二分K-means
9.7.6 流式K-means
9.8 降維
9.8.1 奇異值分解降維
9.8.2 主成分分析降維
9.9 特徵提取和變換
9.9.1 詞頻—逆文檔頻率
9.9.2 詞嚮量化工具
9.9.3 標準化
9.9.4 範數化
9.10 頻繁模式挖掘
9.10.1 頻繁模式增長
9.10.2 關聯規則挖掘
9.10.3 PrefixSpan
9.11 實例演示
9.11.1 K-means聚類算法實例
9.11.2 手機短信分類實例
9.12 小結
第10章 Spark GraphX
10.1 GraphX介紹
10.1.1 圖計算
10.1.2 GraphX介紹
10.1.3 發展曆程
10.2 GraphX實現分析
10.2.1 GraphX圖數據模型
10.2.2 GraphX圖數據存儲
10.2.3 GraphX圖切分策略
10.2.4 GraphX圖操作
10.3 實例演示
10.3.1 圖例演示
10.3.2 社區發現演示
10.4 小結
第11章 SparkR
11.1 概述
11.1.1 R語言介紹
11.1.2 SparkR介紹
11.2 SparkR與DataFrame
11.2.1 DataFrames介紹
11.2.2 與DataFrame的相關操作
11.3 編譯安裝SparkR
11.3.1 編譯安裝R語言
11.3.2 安裝SparkR運行環境
11.3.3 安裝SparkR
11.3.4 啓動並驗證安裝
11.4 實例演示
11.5 小結
第12章 Alluxio
12.1 Alluxio簡介
12.1.1 Alluxio介紹
12.1.2 Alluxio係統架構
12.1.3 HDFS與Alluxio
12.2 Alluxio編譯部署
12.2.1 編譯Alluxio
12.2.2 單機部署Alluxio
12.2.3 集群模式部署Alluxio
12.3 Alluxio命令行使用
12.3.1 接口說明
12.3.2 接口操作示例
12.4 實例演示
12.4.1 啓動環境
12.4.2 Alluxio上運行Spark
12.4.3 Alluxio上運行MapReduce
12.5 小結
· · · · · · (
收起)