Spark大數(shù)據(jù)分析與實(shí)戰(zhàn)(Python+PySpark)(微課版)
定 價(jià):59.8 元
- 作者:李新輝
- 出版時(shí)間:2024/2/1
- ISBN:9787121472770
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP274
- 頁(yè)碼:308
- 紙張:
- 版次:01
- 開本:16開
Spark是業(yè)界主流的大數(shù)據(jù)計(jì)算框架。本書通過(guò)一系列大數(shù)據(jù)應(yīng)用案例和實(shí)踐項(xiàng)目貫穿始終,使用Python詳細(xì)闡述了 Spark 大數(shù)據(jù)環(huán)境的搭建、Spark RDD 離線數(shù)據(jù)計(jì)算、Spark SQL 離線數(shù)據(jù)處理、Spark Streaming實(shí)時(shí)數(shù)據(jù)計(jì)算等一系列常見的大數(shù)據(jù)處理問(wèn)題,并在此基礎(chǔ)上對(duì)Spark的核心概念及技術(shù)原理進(jìn)行了詳細(xì)分析,最后以兩個(gè)綜合案例分別展示了Spark離線數(shù)據(jù)處理和實(shí)時(shí)數(shù)據(jù)處理的具體應(yīng)用與部署。本書踐行“做中學(xué)”的設(shè)計(jì)理念,內(nèi)容編排符合學(xué)習(xí)與認(rèn)知規(guī)律,從簡(jiǎn)單細(xì)小案例入手,輔以大量配圖對(duì)學(xué)習(xí)過(guò)程中涉及的枯燥數(shù)據(jù)、抽象概念和復(fù)雜原理進(jìn)行圖示化說(shuō)明,語(yǔ)言淺顯易懂,技術(shù)體系清晰,邏輯銜接合理。在本書最后兩個(gè)綜合案例中,分別從需求分析、技術(shù)準(zhǔn)備、數(shù)據(jù)清洗、需求實(shí)現(xiàn)、數(shù)據(jù)可視化等幾個(gè)關(guān)鍵環(huán)節(jié)展開敘述,便于讀者對(duì)Spark大數(shù)據(jù)項(xiàng)目的整體開發(fā)流程有一個(gè)比較清晰的認(rèn)識(shí)。
李新輝,男,碩士,畢業(yè)于南昌大學(xué)計(jì)算機(jī)應(yīng)用技術(shù)專業(yè),2006年開始從事計(jì)算機(jī)相關(guān)課程的教育教學(xué),從事大數(shù)學(xué)技術(shù)專業(yè)的課程教學(xué)工作。
第1章 Spark大數(shù)據(jù)平臺(tái)與環(huán)境搭建 1
1.1 引言 2
1.2 Spark大數(shù)據(jù)平臺(tái)介紹 2
1.2.1 Spark是什么 2
1.2.2 Spark與大數(shù)據(jù)的應(yīng)用場(chǎng)景 4
1.2.3 Spark編程環(huán)境(PySpark) 5
1.2.4 Spark應(yīng)用程序原理 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單機(jī)運(yùn)行環(huán)境搭建 35
1.4 Python核心語(yǔ)法概覽 47
1.5 單元訓(xùn)練 49
第2章 Spark RDD離線數(shù)據(jù)計(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的轉(zhuǎn)換操作 60
2.4.3 RDD的行動(dòng)操作 87
2.5 Spark RDD數(shù)據(jù)計(jì)算實(shí)例 90
2.5.1 詞頻統(tǒng)計(jì)案例 90
2.5.2 基本TopN問(wèn)題案例 92
2.5.3 用戶消費(fèi)數(shù)據(jù)處理案例 95
2.6 Spark文件的讀/寫 96
2.6.1 文本文件的讀/寫 96
2.6.2 SequenceFile文件的讀/寫 99
2.7 單元訓(xùn)練 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ù)處理實(shí)例 136
3.4.1 詞頻統(tǒng)計(jì)案例 136
3.4.2 人口信息統(tǒng)計(jì)案例 137
3.4.3 電影評(píng)分?jǐn)?shù)據(jù)分析案例 139
3.5 Spark SQL訪問(wèn)數(shù)據(jù)庫(kù) 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ù)類型轉(zhuǎn)換 150
3.8 單元訓(xùn)練 152
第4章 Spark Streaming實(shí)時(shí)數(shù)據(jù)計(jì)算 155
4.1 引言 156
4.2 Spark Streaming基本原理 156
4.3 Spark Streaming詞頻統(tǒng)計(jì) 157
4.3.1 Netcat網(wǎng)絡(luò)工具測(cè)試 157
4.3.2 DStream詞頻統(tǒng)計(jì) 158
4.4 DStream數(shù)據(jù)轉(zhuǎn)換操作 161
4.4.1 DStream無(wú)狀態(tài)轉(zhuǎn)換操作 161
4.4.2 DStream基于狀態(tài)更新的轉(zhuǎn)換 162
4.4.3 DStream基于滑動(dòng)窗口的轉(zhuǎn)換 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 單元訓(xùn)練 176
第5章 Spark編程進(jìn)階 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的依賴關(guān)系 191
5.3.4 RDD的計(jì)算調(diào)度 193
5.4 RDD緩存機(jī)制 199
5.5 廣播變量和累加器 201
5.5.1 廣播變量 201
5.5.2 累加器 203
5.6 Spark生態(tài)和應(yīng)用架構(gòu) 206
5.6.1 Spark生態(tài)架構(gòu) 206
5.6.2 Spark應(yīng)用架構(gòu) 208
5.7 Spark集群和應(yīng)用部署 211
5.7.1 Spark偽分布集群的搭建 211
5.7.2 Spark應(yīng)用部署模式 216
5.7.3 Spark應(yīng)用部署實(shí)例 219
5.8 單元訓(xùn)練 227
第6章 Spark大數(shù)據(jù)分析項(xiàng)目實(shí)例 228
6.1 引言 228
6.2 CentOS7+JDK8虛擬機(jī)安裝 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ù)處理實(shí)例 244
6.4.1 需求分析 244
6.4.2 準(zhǔn)備工作 246
6.4.3 美妝商品訂單數(shù)據(jù)分析 263
6.4.4 美妝商品訂單數(shù)據(jù)可視化 280
6.5 Spark實(shí)時(shí)數(shù)據(jù)處理實(shí)例 286
6.5.1 需求分析 286
6.5.2 準(zhǔn)備工作 287
6.5.3 通話記錄生產(chǎn)者模擬 289
6.5.4 消息接收者測(cè)試 291
6.5.5 Spark Streaming通話記錄消息處理 294
6.6 Spark數(shù)據(jù)分析案例部署 298