第1章 Spark導論 1
1.1 Spark的發展 2
1.2 什麼是Spark 3
1.3 Spark主要特徵 3
1.3.1 快速 3
1.3.2 簡潔易用 5
1.3.3 通用 6
1.3.4 多種運行模式 8
第2章 Spark集群部署 9
2.1 運行環境說明 9
2.1.1 軟硬件環境 9
2.1.2 集群網絡環境 10
2.2 安裝VMware Workstation 11 10
2.3 安裝CentOS 6 16
2.4 安裝Hadoop 21
2.4.1 剋隆並啓動虛擬機 21
2.4.2 網絡基本配置 24
2.4.3 安裝JDK 27
2.4.4 免密鑰登錄配置 28
2.4.5 Hadoop配置 29
2.4.6 配置從節點 33
2.4.7 配置係統文件 33
2.4.8 啓動Hadoop集群 33
2.5 安裝Scala 35
2.6 安裝Spark 36
2.6.1 下載並解壓Spark安裝包 36
2.6.2 配置Spark-env.sh 37
2.6.3 配置Spark-defaults.conf 37
2.6.4 配置Slaves 38
2.6.5 配置環境變量 38
2.6.6 發送至Slave1、Slave2 39
2.7 啓動Spark 39
第3章 RDD編程 42
3.1 RDD定義 42
3.2 RDD的特性 43
3.2.1 分區 43
3.2.2 依賴 44
3.2.3 計算 45
3.2.4 分區函數 45
3.2.5 優先位置 46
3.3 創建操作 46
3.3.1 基於集閤的創建操作 47
3.3.2 基於外部存儲的創建操作 47
3.4 常見執行操作 49
3.5 常見轉換操作 49
3.5.1 一元轉換操作 50
3.5.2 二元轉換操作 53
3.6 持久化操作 56
3.7 存儲操作 58
第4章 Spark調度管理與應用程序開發 59
4.1 Spark調度管理基本概念 59
4.2 作業調度流程 60
4.2.1 作業的生成與提交 61
4.2.2 階段的劃分 62
4.2.3 調度階段的提交 62
4.2.4 任務的提交與執行 62
4.3 基於IntelliJ IDEA構建Spark應用程序 64
4.3.1 安裝IntelliJ IDEA 64
4.3.2 創建Spark應用程序 70
4.3.3 集群模式運行Spark應用程序 81
第5章 GraphX 87
5.1 GraphX概述 87
5.2 GraphX基本原理 89
5.2.1 圖計算模型處理流程 89
5.2.2 GraphX定義 90
5.2.3 GraphX的特點 90
5.3 GraphX設計與實現 91
5.3.1 彈性分布式屬性圖 91
5.3.2 圖的數據模型 92
5.3.3 圖的存儲模型 94
5.3.4 GraphX模型框架 97
5.4 GraphX操作 97
5.4.1 創建圖 97
5.4.2 基本屬性操作 100
5.4.3 結構操作 102
5.4.4 轉換操作 103
5.4.5 連接操作 105
5.4.6 聚閤操作 106
5.5 GraphX案例解析 107
5.5.1 PageRank算法與案例解析 107
5.5.2 Triangle Count算法與案例解析 110
第6章 Spark SQL 113
6.1 Spark SQL概述 113
6.2 Spark SQL邏輯架構 116
6.2.1 SQL執行流程 116
6.2.2 Catalyst 117
6.3 Spark SQL CLI 117
6.3.1 硬軟件環境 117
6.3.2 集群環境 118
6.3.3 結閤Hive 118
6.3.4 啓動Hive 118
6.4 DataFrame編程模型 119
6.4.1 DataFrame簡介 119
6.4.2 創建DataFrames 120
6.4.3 保存DataFrames 126
6.5 DataFrame常見操作 127
6.5.1 數據展示 127
6.5.2 常用列操作 128
6.5.3 過濾 131
6.5.4 排序 132
6.5.5 其他常見操作 134
6.6 基於Hive的學生信息管理係統的SQL查詢案例與解析 137
6.6.1 Spark SQL整閤Hive 137
6.6.2 構建數據倉庫 138
6.6.3 加載數據 141
6.6.4 查詢數據 142
第7章 Spark Streaming 146
7.1 Spark Streaming概述 146
7.2 Spark Streaming基礎概念 147
7.2.1 批處理時間間隔 147
7.2.2 窗口時間間隔 148
7.2.3 滑動時間間隔 148
7.3 DStream基本概念 149
7.4 DStream的基本操作 150
7.4.1 無狀態轉換操作 150
7.4.2 有狀態轉換操作 152
7.4.3 輸齣操作 153
7.4.4 持久化操作 154
7.5 數據源 154
7.5.1 基礎數據源 154
7.5.2 高級數據源 155
7.6 Spark Streaming編程模式與案例分析 156
7.6.1 Spark Streaming編程模式 156
7.6.2 文本文件數據處理案例(一) 157
7.6.3 文本文件數據處理案例(二) 160
7.6.4 網絡數據處理案例(一) 164
7.6.5 網絡數據處理案例(二) 171
7.6.6 stateful應用案例 175
7.6.7 window應用案例 180
7.7 性能考量 185
7.7.1 運行時間優化 185
7.7.2 內存使用與垃圾迴收 186
第8章 Spark MLlib 187
8.1 Spark MLlib概述 187
8.1.1 機器學習介紹 187
8.1.2 Spark MLlib簡介 189
8.2 MLlib嚮量與矩陣 190
8.2.1 MLlib嚮量 190
8.2.2 MLlib矩陣 192
8.3 Spark MLlib分類算法 196
8.3.1 貝葉斯分類算法 197
8.3.2 支持嚮量機算法 201
8.3.3 決策樹算法 204
8.4 MLlib綫性迴歸算法 208
8.5 MLlib聚類算法 212
8.6 MLlib協同過濾 215
· · · · · · (
收起)