PySpark大數(shù)據(jù)分析與應(yīng)用
定 價:69.8 元
- 作者:戴剛,張良均
- 出版時間:2024/4/1
- ISBN:9787115634900
- 出 版 社:人民郵電出版社
- 中圖法分類:TP274
- 頁碼:275
- 紙張:
- 版次:01
- 開本:16開
本書以Python作為開發(fā)語言,系統(tǒng)介紹PySpark開發(fā)環(huán)境搭建流程及基于PySpark進(jìn)行大數(shù)據(jù)分析的 相關(guān)知識。本書條理清晰、重點突出,理論敘述循序漸進(jìn)、由淺入深。本書共7章,第1?5章包括PySpark 大數(shù)據(jù)分析概述、PySpark安裝配置、基于PySpark的DataFrame操作、基于PySpark的流式數(shù)據(jù)處理、 基于PySpark的機器學(xué)習(xí)庫,內(nèi)容介紹注重理論與實踐相結(jié)合,通過典型示例強化PySpark在大數(shù)據(jù)分析 中的實際應(yīng)用;第6、7章通過基于PySpark的網(wǎng)絡(luò)招聘信息的職業(yè)類型劃分和基于PySpark的信用貸款 風(fēng)險分析兩個完整的案例實戰(zhàn),結(jié)合前5章的PySpark編程知識,實現(xiàn)完整的大數(shù)據(jù)分析過程。本書大部 分章包含實訓(xùn)和課后習(xí)題,讀者通過練習(xí)和操作實踐,能夠鞏固所學(xué)的內(nèi)容。
本書可作為高校數(shù)據(jù)科學(xué)或大數(shù)據(jù)相關(guān)專業(yè)的教材,也可作為機器學(xué)習(xí)愛好者的自學(xué)用書。
1.理論敘述由淺入深,循序漸進(jìn),表達(dá)通俗易懂。本書的知識點章節(jié)從基本概念入手,介紹相關(guān)的基礎(chǔ)理論,并結(jié)合介紹的知識點進(jìn)行操作實踐,再通過應(yīng)用實例介紹如何運用具體方法解決實際問題。
2.強化基礎(chǔ),突出知識的應(yīng)用性。結(jié)合高校教學(xué)特點和學(xué)生的情況,突出PySpark大數(shù)據(jù)分析的重點內(nèi)容,強調(diào)PySpark在實際問題中的應(yīng)用性,充分體現(xiàn)了理論知識與應(yīng)用的緊密結(jié)合。
3.從實踐出發(fā),重點突出可操作性。本書從構(gòu)建PySpark的開發(fā)環(huán)境入手,詳細(xì)介紹了單機模式的PySpark開發(fā)環(huán)境搭建(基于Windows系統(tǒng)搭建,搭建過程簡單,易于操作)和分布式模式的PySpark開發(fā)環(huán)境搭建(基于Linux系統(tǒng)搭建,貼近實際應(yīng)用場景,處理高效),幫助讀者構(gòu)建一個可操作的實踐環(huán)境,實踐本書各章節(jié)的內(nèi)容。且本書大部分章節(jié)附有實訓(xùn)和課后習(xí)題,便于讀者進(jìn)行上機實驗,鞏固所學(xué)知識,真正理解并應(yīng)用所學(xué)知識。
4.通過典型的案例完整展示PySpark數(shù)據(jù)分析的過程,強化知識的實際應(yīng)用。本書最后介紹了兩個案例,以應(yīng)用為導(dǎo)向,從需求分析入手,再設(shè)計解決方案,最終運用所需知識實現(xiàn)基于PySpark的數(shù)據(jù)分析過程。
5.體現(xiàn)思政育人。本書不僅注重培養(yǎng)學(xué)生分析處理數(shù)據(jù)的能力,運用數(shù)據(jù)分析理論與方法解決實際問題的實踐能力;同時注重課程內(nèi)容與思政教育的有機融合,潛移默化中引領(lǐng)學(xué)生樹立和踐行社會主義核心價值觀,建立正確的三觀,培養(yǎng)擁有正確政治方向的四有青年。
戴剛,重慶大學(xué)計算機科學(xué)與技術(shù)博士,美國匹茲堡大學(xué)訪問學(xué)者,重慶交通大學(xué)經(jīng)濟與管理學(xué)院副教授,碩士生導(dǎo)師。主持1項教育部產(chǎn)學(xué)研合作項目,主研國家自然科學(xué)基金2項,國家科技支持計劃1項目,中國移動(重慶分公司)科技公關(guān)項目1項,省部級科研項目2項,在國際期刊、國際會議及國內(nèi)權(quán)威學(xué)術(shù)期刊發(fā)辮學(xué)術(shù)論文7篇。熟悉Java、Python、大數(shù)據(jù)及相關(guān)軟件架構(gòu),具有豐富的軟件開發(fā)經(jīng)驗。從事教育教學(xué)工作十多年,有扎實的專業(yè)素養(yǎng)和豐富的教學(xué)經(jīng)驗。
第 1章PySpark大數(shù)據(jù)分析概述 1
1.1 大數(shù)據(jù)分析概述 1
1.1.1 大數(shù)據(jù)的概念 2
1.1.2 大數(shù)據(jù)分析的概念 3
1.1.3 大數(shù)據(jù)分析的流程 4
1.1.4 大數(shù)據(jù)分析的應(yīng)用場景 6
1.1.5 大數(shù)據(jù)技術(shù)體系 6
1.2 Spark大數(shù)據(jù)技術(shù)框架 10
1.2.1 Spark 簡介 10
1.2.2 Spark 特點 11
1.2.3 Spark運行架構(gòu)與流程 11
1.2.4 Spark RDD 14
1.2.5 Spark 生態(tài)圈 20
1.3 PySpark大數(shù)據(jù)分析 21
1.3.1 PySpark 簡介 21
1.3.2 PySpark 子模塊 22
小結(jié) 25
課后習(xí)題 26
第 2章 PySpark安裝配置 27
2.1 搭建單機模式的PySpark開發(fā)
環(huán)境 28
2.1.1 安裝 JDK 28
2.1.2 安裝 Anaconda 28
2.1.3 安裝 Hadoop 30
2.1.4 安裝 MySQL 36
2.1.5 安裝 Hive 37
2.1.6 配置 PySpark 模塊 43
2.1.7 運行 Jupyter Notebook 44
2.2 搭建分布式模式的PySpark開發(fā)
環(huán)境 45
2.2.1 安裝配置虛擬機 46
2.2.2 安裝 Java 53
2.2.3 搭建Hadoop分布式集群 58
2.2.4 安裝MySQL數(shù)據(jù)庫 62
2.2.5 安裝Hive數(shù)據(jù)倉庫工具 63
2.2.6 搭建Spark完全分布式集群 66
2.2.7 安裝 PyCham 69
2.2.8 安裝Python解釋器及PySpark 模塊 69
2.3 Python函數(shù)式編程 69
2.3.1 Python常用數(shù)據(jù)結(jié)構(gòu) 70
2.3.2 Python函數(shù)式編程基礎(chǔ) 75
小結(jié) 76
課后習(xí)題 76
第 3 章 基于 PySpark 的 DataFrame 操作 78
3.1 Spark SQL 概述 78
3.1.1 Spark SQL起源與發(fā)展歷程 79
3.1.2 Spark SQL 主要功能 79
3.1.3 Spark SQL數(shù)據(jù)核心抽象 DataFrame 80
3.2 pyspark.sql 模塊 82
3.2.1 pyspark. sql 模塊簡介 82
3.2.2 pyspark. sql 模塊核心類 83
3.3 DataFrame 基礎(chǔ)操作 85
3.3.1 創(chuàng)建 DataFrame 對象 86
332 DataFrame 操作 93
3.3.3 DataFrame 輸出操作 113
小結(jié) 114
實訓(xùn) 114
實訓(xùn)1網(wǎng)站搜索熱詞統(tǒng)計分析 114
實訓(xùn)2大數(shù)據(jù)崗位招聘信息統(tǒng)計分析 …115
課后習(xí)題 116
第4章 基于PySpark的流式數(shù)據(jù)
處理 118
4.1 Spark Streaming 概述 119
4.1.1 流計算簡介 119
4.1.2 Spark Streaming 基本概念 121
4.1.3 Spark Streaming 工作原理 121
4.1.4 Spark Streaming 運行機制 122
4.2 pyspark.streaming 模塊 123
4.2.1 pyspark. streaming 模塊簡介 123
4.2.2 pyspark. streaming 模塊核心類 124
4.2.3 DStream 基礎(chǔ)操作 126
4.3 Structured Streaming 結(jié)構(gòu)化流 處理 146
4.3.1 Structured Streaming 概述 146
4.3.2 Structured Streaming 編程模型 147
4.3.3 Structured Streaming 基礎(chǔ)操作 148
4.3.4 Structured Streaming 編程步驟 152
小結(jié) 155
實訓(xùn) 155
實訓(xùn)1使用Spark Streaming實現(xiàn)菜品價格
實時計算 155
實訓(xùn)2使用Spark Streaming實時判別車輛 所屬地 156
課后習(xí)題 156
第5章 基于PySpark的機器
學(xué)習(xí)庫 158
5.1 MLlib 算法 159
5.1.1 機器學(xué)習(xí) 159
5.1.2 MLlib 159
5.1.3 pyspark.ml 模塊 159
5.2 使用pyspark.ml模塊的轉(zhuǎn)換器處理
和轉(zhuǎn)換數(shù)據(jù) 162
5.2.1 數(shù)據(jù)加載及數(shù)據(jù)集劃分 162
5.2.2 數(shù)據(jù)降維 164
5.2.3 數(shù)據(jù)標(biāo)準(zhǔn)化 166
5.2.4 數(shù)據(jù)類型轉(zhuǎn)換 171
5.3 pyspark.ml模塊的評估器和模型 評估 175
5.3.1 使用PySpark構(gòu)建并評估分類 模型 175
5.3.2 使用PySpark構(gòu)建并評估回歸 模型 182
5.3.3 使用PySpark構(gòu)建并評估聚類 模型 186
5.3.4 使用PySpark構(gòu)建并評估智能推薦
模型 189
小結(jié) 195
實訓(xùn) 195
實訓(xùn)1使用隨機森林模型預(yù)測是否批準(zhǔn) 用戶申請 195
實訓(xùn)2使用回歸模型實現(xiàn)房價預(yù)測………196
課后習(xí)題 197
第6章 案例分析:基于PySpark的網(wǎng)絡(luò) 招聘信息的職業(yè)類型劃分 ……199
6.1 需求與架構(gòu)分析 200
6.1.1 業(yè)務(wù)需求分析與技術(shù)選型 200
6.1.2 系統(tǒng)架構(gòu)分析 200
6.2 數(shù)據(jù)探索 201
6.2.1 數(shù)據(jù)說明 202
6.2.2 數(shù)據(jù)讀取 202
6.2.3 重復(fù)數(shù)據(jù)與空值探索 204
6.2.4 異常數(shù)據(jù)探索 205
6.3 數(shù)據(jù)預(yù)處理 207
6.3.1 數(shù)據(jù)清洗 207
6.3.2 中文分詞與去停用詞 208
6.3.3 詞特征向量化 210
6.4 模型構(gòu)建與評估 213
6.4.1 LDA算法簡介 214
6.4.2 LDA模型構(gòu)建與評估 215
6.4.3 構(gòu)建LDA模型 217
6.5 制作詞云圖 220
小結(jié) 225
第7章 案例分析:基于PySpark的
信用貸款風(fēng)險分析 226
7.1 需求與架構(gòu)分析 227
7.1.1 業(yè)務(wù)需求分析 227
7.1.2 系統(tǒng)架構(gòu)分析 227
7.2 數(shù)據(jù)探索 228
7.2.1 數(shù)據(jù)說明 228
7.2.2 建立數(shù)據(jù)倉庫并導(dǎo)入數(shù)據(jù) 230
7.2.3 用戶信息完善情況與逾期率的關(guān)系
探索 233
7.2.4 用戶信息修改情況與逾期率的關(guān)系
探索 236
7.2.5 用戶借款月份與逾期率的關(guān)系
探索 240
7.3 數(shù)據(jù)預(yù)處理 243
7.3.1 計算用戶信息缺失個數(shù)及借款月份
構(gòu)建新特征 243
7.3.2 用戶更新信息重建 245
7.3.3 用戶登錄信息重建 250
7.3.4 分類數(shù)據(jù)預(yù)處理 255
7.3.5 字符串字段編碼處理 259
7.3.6 分類數(shù)據(jù)重編碼 263
7.3.7 缺失值處理 265
7.4 模型構(gòu)建與評估 267
7.4.1 了解 GBTs 算法 267
7.4.2 構(gòu)建 GBTs 模型 268
7.4.3 評估 GBTs 模型 271
7.5 部署和提交PySpark應(yīng)用程序…271
7.5.1 打包PySpark應(yīng)用程序 271
7.5.2 提交PySpark應(yīng)用程序 274
小結(jié) 275
參考文獻(xiàn) 276