Spark 3.x大數據分析實戰(視頻教學版)

《Spark 3.x大數據分析實戰(視頻教學版)》是2022年清華大學出版社出版的圖書,作者是張偉洋。

基本介紹

  • 中文名:Spark 3.x大數據分析實戰(視頻教學版)
  • 作者:張偉洋
  • 出版社:清華大學出版社
  • 出版時間:2022年9月1日
  • 定價:89 元
  • ISBN:9787302614500
內容簡介,圖書目錄,

內容簡介

本書基於Spark 3.2.x版本,從Spark核心程式語言Scala講起,涵蓋了當前整個Spark生態系統主流的大數據開發技術。全書共9章,第1章講解了Scala語言的基礎知識,包括IDEA工具的使用等;第2章講解了Spark的主要組件、集群架構原理、集群環境搭建以及Spark應用程式的提交和運行;第3~9章講解了離線計算框架Spark RDD、Spark SQL和實時計算框架Kafka、Spark Streaming、Structured Streaming以及圖計算框架GraphX等的基礎知識、架構原理,同時包括常用Shell命令、API操作、核心源碼剖析,並通過多個實際案例講解各個框架的具體套用以及與Hadoop生態系統框架Hive、HBase、Kafka的整合操作。 本書通俗易懂,案例豐富,注重實操,適合Spark新手和大數據開發人員閱讀,也可作為培訓機構和高校大數據及相關專業的教學用書。

圖書目錄

第1章 Spark開發準備——Scala基礎 1
1.1 什麼是Scala 1
1.2 安裝Scala 1
1.2.1 在Windows中安裝Scala 2
1.2.2 在CentOS 7中安裝Scala 3
1.3 Scala基礎 3
1.3.1 變數聲明 4
1.3.2 數據類型 5
1.3.3 表達式 6
1.3.4 循環 7
1.3.5 方法與函式 9
1.4 集合 12
1.4.1 數組 12
1.4.2 List 14
1.4.3 Map映射 15
1.4.4 元組 17
1.4.5 Set 18
1.5 類和對象 19
1.5.1 類的定義 19
1.5.2 單例對象 20
1.5.3 伴生對象 20
1.5.4 get和set方法 20
1.5.5 構造器 23
1.6 抽象類和特質 25
1.6.1 抽象類 25
1.6.2 特質 26
1.7 使用Eclipse創建Scala項目 28
1.7.1 安裝Scala for Eclipse IDE 28
1.7.2 創建Scala項目 29
1.8 使用IntelliJ IDEA創建Scala項目 29
1.8.1 在IDEA中安裝Scala外掛程式 30
1.8.2 創建Scala項目 31
1.9 動手練習 32
第2章 初識Spark 33
2.1 大數據開發的總體架構 33
2.2 什麼是Spark 34
2.3 Spark的主要組件 35
2.4 Spark運行架構 37
2.4.1 YARN集群架構 37
2.4.2 Spark Standalone架構 40
2.4.3 Spark On YARN架構 42
2.5 Spark集群搭建與測試 44
2.5.1 Spark Standalone模式的集群搭建 44
2.5.2 Spark On YARN模式的集群搭建 46
2.5.3 Spark HA的搭建 47
2.6 Spark應用程式的提交 51
2.7 Spark Shell的使用 53
2.8 動手練習 55
第3章 Spark RDD彈性分散式數據集 56
3.1 什麼是RDD 56
3.2 創建RDD 57
3.2.1 從對象集合創建RDD 57
3.2.2 從外部存儲創建RDD 57
3.3 RDD的運算元 58
3.3.1 轉化運算元 58
3.3.2 行動運算元 65
3.4 RDD的分區 66
3.4.1 分區數量 66
3.4.2 自定義分區器 74
3.5 RDD的依賴 79
3.5.1 窄依賴 79
3.5.2 寬依賴 79
3.5.3 Stage劃分 80
3.6 RDD的持久化 81
3.6.1 存儲級別 82
3.6.2 查看快取 84
3.7 RDD的檢查點 86
3.8 共享變數 87
3.8.1 廣播變數 87
3.8.2 累加器 89
3.9 案例分析:Spark RDD實現單詞計數 90
3.9.1 新建Maven管理的Spark項目 90
3.9.2 編寫WordCount程式 92
3.9.3 提交程式到集群 94
3.10 案例分析:Spark RDD實現分組求TopN 96
3.11 案例分析:Spark RDD實現二次排序 100
3.12 案例分析:Spark RDD計算成績平均分 103
3.13 案例分析:Spark RDD倒排索引統計 每日新增用戶 105
3.14 案例分析:Spark RDD讀寫HBase 109
3.14.1 讀取HBase表數據 109
3.14.2 寫入HBase表數據 111
3.15 案例分析:Spark RDD數據傾斜問題的解決 119
3.15.1 數據傾斜的常用解決方法 120
3.15.2 使用隨機key進行雙重聚合 121
3.15.3 WebUI查看Spark歷史作業 124
3.16 動手練習 125
第4章 Spark核心源碼分析 127
4.1 Spark集群啟動原理分析 127
4.2 Spark應用程式提交原理分析 136
4.3 Spark作業工作原理分析 146
4.3.1 MapReduce的工作原理 147
4.3.2 Spark作業的工作原理 149
4.4 Spark檢查點原理分析 160
第5章 Spark SQL結構化數據處理引擎 164
5.1 什麼是Spark SQL 164
5.2 DataFrame和Dataset 165
5.3 Spark SQL的基本使用 166
5.4 Spark SQL數據源 168
5.4.1 基本操作 168
5.4.2 Parquet檔案 172
5.4.3 JSON數據集 175
5.4.4 Hive表 176
5.4.5 JDBC 178
5.5 Spark SQL內置函式 179
5.5.1 自定義函式 181
5.5.2 自定義聚合函式 182
5.5.3 開窗函式 184
5.6 案例分析:使用Spark SQL實現單詞計數 186
5.7 案例分析:Spark SQL與Hive的整合 191
5.7.1 整合Hive的步驟 191
5.7.2 操作Hive的幾種方式 193
5.8 案例分析:Spark SQL讀寫MySQL 195
5.9 案例分析:Spark SQL每日UV統計 199
5.10 案例分析:Spark SQL熱點搜尋詞統計 201
5.11 綜合案例:Spark SQL智慧交通數據分析 204
5.11.1 項目介紹 204
5.11.2 數據準備 205
5.11.3 統計正常卡口數量 208
5.11.4 統計車流量排名前3的卡口號 208
5.11.5 統計車輛高速通過的卡口Top5 209
5.11.6 統計每個卡口通過速度最快的前3輛車 212
5.11.7 車輛軌跡分析 213
5.12 動手練習 214
第6章 Kafka分散式訊息系統 215
6.1 什麼是Kafka 215
6.2 Kafka架構 216
6.3 主題與分區 217
6.4 分區副本 218
6.5 消費者組 220
6.6 數據存儲機制 221
6.7 集群環境搭建 223
6.8 命令行操作 225
6.8.1 創建主題 225
6.8.2 查詢主題 225
6.8.3 創建生產者 226
6.8.4 創建消費者 227
6.9 Java API操作 227
6.9.1 創建Java工程 227
6.9.2 創建生產者 228
6.9.3 創建消費者 230
6.9.4 運行程式 231
6.10 案例分析:Kafka生產者攔截器 233
6.11 動手練習 239
第7章 Spark Streaming實時流處理引擎 240
7.1 什麼是Spark Streaming 240
7.2 Spark Streaming工作原理 241
7.3 輸入DStream和Receiver 242
7.4 第一個Spark Streaming程式 243
7.5 Spark Streaming數據源 244
7.5.1 基本數據源 244
7.5.2 高級數據源 246
7.5.3 自定義數據源 247
7.6 DStream操作 250
7.6.1 無狀態操作 251
7.6.2 狀態操作 252
7.6.3 視窗操作 253
7.6.4 輸出操作 255
7.6.5 快取及持久化 256
7.6.6 檢查點 257
7.7 案例分析:Spark Streaming按批次累加單詞數量 259
7.8 案例分析:Spark Streaming整合Kafka計算實時單詞數量 262
7.9 案例分析:Spark Streaming實時用戶日誌黑名單過濾 268
7.10 綜合案例:微博用戶行為分析 271
7.11 動手練習 273
第8章 Structured Streaming結構化流處理引擎 274
8.1 什麼是Structured Streaming 274
8.2 Structured Streaming單詞計數 275
8.3 Structured Streaming編程模型 277
8.4 Structured Streaming查詢輸出 279
8.5 Structured Streaming視窗操作 282
8.5.1 事件時間 282
8.5.2 視窗聚合單詞計數 283
8.5.3 延遲數據和水印 286
8.6 案例分析:Structured Streaming整合Kafka實現單詞計數 290
8.7 動手練習 293
第9章 GraphX圖計算引擎 294
9.1 什麼是GraphX 294
9.2 第一個GraphX程式 295
9.3 GraphX數據結構 298
9.4 GraphX圖操作 298
9.4.1 基本操作 298
9.4.2 屬性操作 301
9.4.3 結構操作 302
9.4.4 連線操作 304
9.4.5 聚合操作 307
9.5 案例分析:使用GraphX計算社交網路中冬粉的平均年齡 308
9.6 動手練習 310

相關詞條

熱門詞條

聯絡我們