Spark大數據分析技術與實戰

Spark大數據分析技術與實戰

《Spark大數據分析技術與實戰》 一書由經管之家 主編,董軼群、曹正鳳、趙仁乾、王安 編著,電子工業出版社2017年7月出版

內容提要

Spark作為下一代大數據處理引擎,經過短短几年的飛躍式發展,正在以燎原之勢席捲業界,現已成為大數據產業中的一股中堅力量。

《Spark大數據分析技術與實戰》著重講解了Spark核心、Spark GraphX、Spark SQL、Spark Streaming和Spark MLlib的核心概念與理論框架,並提供了相應的示例與解析。

《Spark大數據分析技術與實戰》共分為8章,其中前4章介紹Spark核心,主要包括Spark簡介、集群部署、工作原理、核心概念與操作等;後4章分別介紹Spark核心的核心組件,每章系統地介紹Spark的一個組件,並附以相應的案例分析。

《Spark大數據分析技術與實戰》適合作為高等院校計算機相關專業的研究生學習參考資料,也適合大數據技術初學者閱讀,還適合所有願意對大數據技術有所了解並想要將大數據技術套用於本職工作的讀者閱讀。

目錄

第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

相關詞條

熱門詞條

聯絡我們