Spark大數(shù)據(jù)分析與實戰(zhàn)(Python+PySpark)(微課版)
定 價:59.8 元
- 作者:李新輝
- 出版時間:2024/2/1
- ISBN:9787121472770
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP274
- 頁碼:308
- 紙張:
- 版次:01
- 開本:16開
Spark是業(yè)界主流的大數(shù)據(jù)計算框架。本書通過一系列大數(shù)據(jù)應用案例和實踐項目貫穿始終,使用Python詳細闡述了 Spark 大數(shù)據(jù)環(huán)境的搭建、Spark RDD 離線數(shù)據(jù)計算、Spark SQL 離線數(shù)據(jù)處理、Spark Streaming實時數(shù)據(jù)計算等一系列常見的大數(shù)據(jù)處理問題,并在此基礎上對Spark的核心概念及技術原理進行了詳細分析,最后以兩個綜合案例分別展示了Spark離線數(shù)據(jù)處理和實時數(shù)據(jù)處理的具體應用與部署。本書踐行“做中學”的設計理念,內(nèi)容編排符合學習與認知規(guī)律,從簡單細小案例入手,輔以大量配圖對學習過程中涉及的枯燥數(shù)據(jù)、抽象概念和復雜原理進行圖示化說明,語言淺顯易懂,技術體系清晰,邏輯銜接合理。在本書最后兩個綜合案例中,分別從需求分析、技術準備、數(shù)據(jù)清洗、需求實現(xiàn)、數(shù)據(jù)可視化等幾個關鍵環(huán)節(jié)展開敘述,便于讀者對Spark大數(shù)據(jù)項目的整體開發(fā)流程有一個比較清晰的認識。
李新輝,男,碩士,畢業(yè)于南昌大學計算機應用技術專業(yè),2006年開始從事計算機相關課程的教育教學,從事大數(shù)學技術專業(yè)的課程教學工作。
第1章 Spark大數(shù)據(jù)平臺與環(huán)境搭建 1
1.1 引言 2
1.2 Spark大數(shù)據(jù)平臺介紹 2
1.2.1 Spark是什么 2
1.2.2 Spark與大數(shù)據(jù)的應用場景 4
1.2.3 Spark編程環(huán)境(PySpark) 5
1.2.4 Spark應用程序原理 7
1.3 Spark大數(shù)據(jù)環(huán)境搭建 8
1.3.1 Linux操作系統(tǒng)安裝和配置 8
1.3.2 Hadoop偽分布集群環(huán)境搭建 23
1.3.3 Spark單機運行環(huán)境搭建 35
1.4 Python核心語法概覽 47
1.5 單元訓練 49
第2章 Spark RDD離線數(shù)據(jù)計算 50
2.1 引言 51
2.2 RDD基本原理 51
2.3 RDD編程模型 53
2.4 Spark RDD常用操作 55
2.4.1 RDD的創(chuàng)建 55
2.4.2 RDD的轉換操作 60
2.4.3 RDD的行動操作 87
2.5 Spark RDD數(shù)據(jù)計算實例 90
2.5.1 詞頻統(tǒng)計案例 90
2.5.2 基本TopN問題案例 92
2.5.3 用戶消費數(shù)據(jù)處理案例 95
2.6 Spark文件的讀/寫 96
2.6.1 文本文件的讀/寫 96
2.6.2 SequenceFile文件的讀/寫 99
2.7 單元訓練 99
第3章 Spark SQL離線數(shù)據(jù)處理 101
3.1 引言 101
3.2 DataFrame基本原理 102
3.3 Spark SQL常用操作 103
3.3.1 DataFrame的基本創(chuàng)建 103
3.3.2 DataFrame的查看 108
3.3.3 DataFrame的數(shù)據(jù)操作(DSL) 111
3.3.4 DataFrame的數(shù)據(jù)操作(SQL) 123
3.4 Spark SQL數(shù)據(jù)處理實例 136
3.4.1 詞頻統(tǒng)計案例 136
3.4.2 人口信息統(tǒng)計案例 137
3.4.3 電影評分數(shù)據(jù)分析案例 139
3.5 Spark SQL訪問數(shù)據(jù)庫 143
3.5.1 在Linux操作系統(tǒng)上安裝MySQL 143
3.5.2 DataFrame寫入MySQL 145
3.5.3 從MySQL中創(chuàng)建DataFrame 147
3.6 DataFrame創(chuàng)建和保存 147
3.6.1 創(chuàng)建DataFrame 148
3.6.2 保存DataFrame 149
3.7 Spark的數(shù)據(jù)類型轉換 150
3.8 單元訓練 152
第4章 Spark Streaming實時數(shù)據(jù)計算 155
4.1 引言 156
4.2 Spark Streaming基本原理 156
4.3 Spark Streaming詞頻統(tǒng)計 157
4.3.1 Netcat網(wǎng)絡工具測試 157
4.3.2 DStream詞頻統(tǒng)計 158
4.4 DStream數(shù)據(jù)轉換操作 161
4.4.1 DStream無狀態(tài)轉換操作 161
4.4.2 DStream基于狀態(tài)更新的轉換 162
4.4.3 DStream基于滑動窗口的轉換 164
4.5 DStream輸出操作 166
4.6 DStream數(shù)據(jù)源讀取 168
4.6.1 讀取文件數(shù)據(jù)流 168
4.6.2 讀取Kafka數(shù)據(jù)流 169
4.7 單元訓練 176
第5章 Spark編程進階 177
5.1 引言 177
5.2 搭建PySpark開發(fā)環(huán)境 178
5.2.1 PySpark交互式編程環(huán)境 178
5.2.2 Jupyter Notebook編程環(huán)境 180
5.2.3 PyCharm集成開發(fā)環(huán)境 183
5.3 理解RDD 188
5.3.1 RDD基本概念 188
5.3.2 RDD的分區(qū) 190
5.3.3 RDD的依賴關系 191
5.3.4 RDD的計算調(diào)度 193
5.4 RDD緩存機制 199
5.5 廣播變量和累加器 201
5.5.1 廣播變量 201
5.5.2 累加器 203
5.6 Spark生態(tài)和應用架構 206
5.6.1 Spark生態(tài)架構 206
5.6.2 Spark應用架構 208
5.7 Spark集群和應用部署 211
5.7.1 Spark偽分布集群的搭建 211
5.7.2 Spark應用部署模式 216
5.7.3 Spark應用部署實例 219
5.8 單元訓練 227
第6章 Spark大數(shù)據(jù)分析項目實例 228
6.1 引言 228
6.2 CentOS7+JDK8虛擬機安裝 229
6.3 Hadoop+Spark分布式集群環(huán)境 235
6.3.1 Hadoop+Spark Standalone分布式集群環(huán)境搭建 235
6.3.2 Hadoop+Spark on YARN分布式集群環(huán)境搭建 239
6.4 Spark離線數(shù)據(jù)處理實例 244
6.4.1 需求分析 244
6.4.2 準備工作 246
6.4.3 美妝商品訂單數(shù)據(jù)分析 263
6.4.4 美妝商品訂單數(shù)據(jù)可視化 280
6.5 Spark實時數(shù)據(jù)處理實例 286
6.5.1 需求分析 286
6.5.2 準備工作 287
6.5.3 通話記錄生產(chǎn)者模擬 289
6.5.4 消息接收者測試 291
6.5.5 Spark Streaming通話記錄消息處理 294
6.6 Spark數(shù)據(jù)分析案例部署 298