Spark大數(shù)據(jù)技術(shù)基礎(chǔ)與應(yīng)用(Scala+Python版)
-
【作 者】林徐 潘立瓊 楊建柏
【I S B N 】978-7-5226-3536-1
【責(zé)任編輯】魏淵源
【適用讀者群】本專通用
【出版時間】2025-08-21
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數(shù)】244
【千字?jǐn)?shù)】390
【印 張】15.25
【定 價】¥49
【叢 書】普通高等教育數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專業(yè)教材
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書以Scala和Python兩種編程語言為工具詳細(xì)介紹了Spark的功能和技術(shù),講解了Scala和Python的語言基礎(chǔ);深入探討了Spark的系統(tǒng)原理、系統(tǒng)架構(gòu)和運行機(jī)理,并提供了詳細(xì)的安裝指南;在數(shù)據(jù)處理方面詳細(xì)介紹了Spark的RDD編程、結(jié)構(gòu)化數(shù)據(jù)處理和流數(shù)據(jù)處理;涉及Spark在機(jī)器學(xué)習(xí)和圖計算領(lǐng)域的應(yīng)用,包括ML庫的使用、機(jī)器學(xué)習(xí)流水線的構(gòu)建、GraphX和GraphFrames的圖計算操作;通過豐富的編程實例幫助讀者深入理解Spark在大數(shù)據(jù)處理中的應(yīng)用。
本書面向應(yīng)用型本科高校數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專業(yè)的Spark相關(guān)課程教學(xué),也可用于職業(yè)院校相應(yīng)課程的教學(xué),還可作為大數(shù)據(jù)行業(yè)從業(yè)人員及大數(shù)據(jù)技術(shù)愛好者的學(xué)習(xí)用書。
雙語言并行詮釋——Scala 和Python 編程解析Spark 技術(shù)原理
教學(xué)資源體系化支撐——構(gòu)建“理論+ 實踐+ 實驗”一體化資源體系
思政深度融入——融合知識點與思政元素,體現(xiàn)科技發(fā)展與創(chuàng)新
視頻講解覆蓋操作全流程——操作與實驗環(huán)節(jié)配套視頻,降低實踐門檻
Apache Spark作為一款迅速崛起的大數(shù)據(jù)處理引擎,以卓越的性能、廣泛的兼容性和高度的集成性,在大數(shù)據(jù)生態(tài)系統(tǒng)中占據(jù)舉足輕重的地位。Spark不僅提供豐富的API接口,支持Scala、Java、Python、R等編程語言,還以獨特的魅力吸引不同背景的開發(fā)者和數(shù)據(jù)科學(xué)家,成為大數(shù)據(jù)處理領(lǐng)域的首選工具。
編者精心編纂本書,旨在為讀者呈現(xiàn)一本全面、系統(tǒng)且實用的Spark學(xué)習(xí)指南,助力讀者快速掌握Spark的基礎(chǔ)知識和應(yīng)用技能。全書邏輯清晰、結(jié)構(gòu)嚴(yán)謹(jǐn),從語言基礎(chǔ)到系統(tǒng)原理,從RDD編程到結(jié)構(gòu)化數(shù)據(jù)處理,從流數(shù)據(jù)處理到機(jī)器學(xué)習(xí),再到圖計算,層層遞進(jìn),逐步引領(lǐng)讀者進(jìn)入Spark的廣闊世界。
第1章聚焦Scala與Python在Spark中的應(yīng)用基礎(chǔ),為后續(xù)學(xué)習(xí)奠定堅實的語言基礎(chǔ);第2章引領(lǐng)讀者步入Spark的殿堂,全面了解其定義、起源、特點、優(yōu)勢,并與其他大數(shù)據(jù)處理工具進(jìn)行對比分析,為讀者提供宏觀的視角和深入的理解;第3章至第7章是本書核心部分,深入剖析了Spark的各方面:第3章詳細(xì)介紹RDD的編程模型,涵蓋RDD的創(chuàng)建、轉(zhuǎn)換、行動、持久化等核心概念,并通過生動的實例展現(xiàn)RDD編程的無限魅力;第4章聚焦Spark結(jié)構(gòu)化數(shù)據(jù)處理,講解Spark SQL和DataFrame的高效應(yīng)用,幫助讀者輕松應(yīng)對結(jié)構(gòu)化數(shù)據(jù)的處理與分析挑戰(zhàn);第5章轉(zhuǎn)向流數(shù)據(jù)處理領(lǐng)域,介紹Spark Streaming和Structured Streaming的基本概念與操作,為讀者打開了實時數(shù)據(jù)處理的神秘大門;第6章引領(lǐng)讀者進(jìn)入機(jī)器學(xué)習(xí)領(lǐng)域,深入剖析Spark MLlib庫的功能與特點,并展示常用機(jī)器學(xué)習(xí)算法的實現(xiàn)過程;第7章聚焦圖計算領(lǐng)域,介紹GraphX和GraphFrames庫的基本操作與使用方法,拓展Spark的應(yīng)用邊界;第8章為讀者提供一個針對實際問題的Spark綜合應(yīng)用案例。
在編寫本書的過程中,編者充分考慮了不同讀者的需求與背景,特別提供了Scala和Python兩種主流語言來詮釋各章內(nèi)容,旨在讓讀者在體驗兩種語言相通之處的同時將學(xué)習(xí)重心聚焦Spark的核心功能。
本書兼顧普通高等教育與職業(yè)教育的需求,旨在打破二者間的壁壘,實現(xiàn)融合與互補。因此,本書不僅適用于應(yīng)用型本科高校的Spark相關(guān)課程教學(xué),還可作為職業(yè)院校Spark課程的教材。
為便于讀者學(xué)習(xí)與實踐,本書在相關(guān)章節(jié)介紹了Spark系統(tǒng)的安裝與開發(fā)環(huán)境的配置方法,同時提供了Windows系統(tǒng)下單機(jī)簡化版的大數(shù)據(jù)環(huán)境,讀者可以不必因為大數(shù)據(jù)環(huán)境煩瑣的安裝步驟而耽誤學(xué)習(xí)主要內(nèi)容。讀者可通過萬水書苑(http://mightybasket.cn)中的本書版塊獲取該大數(shù)據(jù)環(huán)境及其他教學(xué)資源。
本書微課視頻主要集中在各章案例部分,讀者可以對照視頻學(xué)習(xí)具體案例步驟。本書實驗環(huán)節(jié)及綜合案例主要由新道科技股份有限公司的青椒課堂平臺(https://www.qingjiaoclass.com)提供,讀者也可以使用該平臺提供的實訓(xùn)環(huán)境學(xué)習(xí)和練習(xí)。
本書編寫團(tuán)隊匯聚了安徽三聯(lián)學(xué)院、安徽中醫(yī)藥大學(xué)、安徽新華學(xué)院的骨干教師及新道科技股份有限公司的資深工程師,其中林徐、潘立瓊、楊建柏任主編,諶婧嬌、徐志鵬、姚麗莎、何姍姍、黃銳任副主編,陳姍姍、解中華參與編寫。在此,我們衷心感謝各院校、公司及中國水利水電出版社的大力支持和鼎力相助。
盡管我們已竭盡全力追求內(nèi)容的完美與實用,但難免存在疏漏之處,在此誠摯邀請讀者提出寶貴的意見和建議,以便我們不斷改進(jìn)與完善本書,為讀者提供更好的學(xué)習(xí)體驗。
1.1 Scala的安裝與運行 1
1.1.1 Scala的下載與安裝 1
1.1.2 Scala的編程環(huán)境配置 2
1.2 Scala的語法基礎(chǔ) 3
1.2.1 Scala的常量與變量 3
1.2.2 Scala的運算符和程序控制結(jié)構(gòu) 6
1.3 Scala的集合類型 7
1.3.1 數(shù)組 8
1.3.2 元組 12
1.3.3 集合 14
1.3.4 列表 16
1.3.5 映射 17
1.4 Scala的函數(shù)和函數(shù)式編程 19
1.4.1 Scala的函數(shù)定義和調(diào)用 19
1.4.2 Scala的高級函數(shù) 21
1.5 Scala類與模式匹配 23
1.5.1 Scala類 23
1.5.2 單例類 25
1.5.3 模式匹配 26
1.6 Python的匿名函數(shù)、閉包和裝飾器 27
1.6.1 Python的匿名函數(shù) 27
1.6.2 Python的閉包 29
1.6.3 Python的裝飾器 30
實驗 31
習(xí)題 32
課程思政案例 33
第2章 Spark系統(tǒng)原理 35
2.1 Spark概述 35
2.1.1 Spark的定義和起源 35
2.1.2 Spark的主要特點和優(yōu)勢 36
2.1.3 Spark與其他大數(shù)據(jù)處理工具的比較 39
2.2 Spark系統(tǒng)架構(gòu)和運行機(jī)理 40
2.2.1 Spark的整體架構(gòu)概覽 40
2.2.2 Spark集群的核心組件和運行模式 41
2.2.3 Spark集群的運行機(jī)理和作業(yè)執(zhí)行流程 43
2.3 Spark系統(tǒng)安裝 46
2.3.1 安裝前的準(zhǔn)備工作 46
2.3.2 安裝Spark的步驟和指南 47
2.3.3 啟動Spark集群和Pyspark的安裝 47
2.3.4 Spark開發(fā)環(huán)境配置與項目發(fā)布 49
實驗 54
習(xí)題 54
課程思政案例 55
第3章 Spark的RDD編程 56
3.1 RDD的原理 56
3.1.1 RDD的性質(zhì) 56
3.1.2 RDD的依賴關(guān)系 57
3.2 RDD的創(chuàng)建 59
3.2.1 通過外部數(shù)據(jù)源創(chuàng)建RDD 59
3.2.2 通過已有RDD創(chuàng)建新RDD 62
3.3 RDD的轉(zhuǎn)換操作 63
3.3.1 值轉(zhuǎn)換操作 63
3.3.2 鍵值對轉(zhuǎn)換操作 65
3.3.3 集合轉(zhuǎn)換操作 68
3.4 RDD的行動操作 72
3.4.1 聚合操作 72
3.4.2 集合操作 75
3.4.3 行動操作到外部系統(tǒng) 76
3.5 RDD的持久化 80
3.5.1 RDD持久化的意義 80
3.5.2 RDD的存儲級別 80
3.5.3 使用持久化 81
3.6 RDD的編程實例 82
3.6.1 實例1 82
3.6.2 實例2 83
3.6.3 實例3 85
3.6.4 實例4 86
3.6.5 實例5 88
實驗 90
習(xí)題 90
課程思政案例 92
第4章 Spark結(jié)構(gòu)化數(shù)據(jù)處理 93
4.1 Spark SQL簡介 93
4.1.1 Spark SQL的概念 93
4.1.2 Spark SQL的優(yōu)勢 95
4.2 DataFrame的創(chuàng)建 96
4.2.1 DataFrame 與 DataSet 96
4.2.2 從RDD轉(zhuǎn)換為DataFrame 98
4.2.3 DataFrame讀寫文件 100
4.3 DataFrame的常用操作 105
4.3.1 列的操作 105
4.3.2 過濾數(shù)據(jù) 107
4.3.3 排序數(shù)據(jù) 107
4.3.4 分組聚合 108
4.3.5 連接操作 109
4.3.6 其他常見操作 110
4.4 Spark SQL操作各類數(shù)據(jù)源 112
4.4.1 Spark SQL讀寫MySQL數(shù)據(jù)庫 112
4.4.2 Spark SQL讀寫HIVE 115
4.5 Spark SQL編程實例 116
實驗 120
習(xí)題 121
課程思政案例 121
第5章 Spark流數(shù)據(jù)處理 123
5.1 Spark Streaming概述 123
5.1.1 Spark Streaming介紹 123
5.1.2 第一個Spark Streaming程序 125
5.2 DStream基本操作 128
5.2.1 DStream的創(chuàng)建 128
5.2.2 DStream的轉(zhuǎn)換 132
5.2.3 DStream的輸出 138
5.3 Structured Streaming結(jié)構(gòu)化流 140
5.3.1 Structured Streaming概述 140
5.3.2 Structured Streaming操作 143
5.3.3 Structured Streaming高級特性 147
5.4 Spark Streaming編程實例 151
實驗 155
習(xí)題 156
課程思政案例 157
第6章 Spark機(jī)器學(xué)習(xí) 158
6.1 Spark機(jī)器學(xué)習(xí)庫概述 158
6.1.1 機(jī)器學(xué)習(xí)簡介 158
6.1.2 Spark MLlib 159
6.1.3 Spark ML 159
6.2 基本數(shù)據(jù)類型 159
6.2.1 本地向量 160
6.2.2 標(biāo)簽點 161
6.2.3 本地矩陣 161
6.2.4 數(shù)據(jù)源 163
6.3 機(jī)器學(xué)習(xí)流水線 165
6.3.1 轉(zhuǎn)換器和評估器 166
6.3.2 流水線 171
6.4 特征工程 174
6.4.1 特征提取 175
6.4.2 特征轉(zhuǎn)換 175
6.4.3 特征選擇 177
6.5 常用機(jī)器學(xué)習(xí)算法 177
6.5.1 回歸算法 178
6.5.2 分類算法 181
6.5.3 聚類算法 186
6.5.4 推薦算法 189
6.5.5 模型選擇 194
實驗 195
習(xí)題 196
課程思政案例 197
第7章 Spark圖計算 199
7.1 GraphX簡介 199
7.2 GraphX基本操作 200
7.2.1 創(chuàng)建圖 200
7.2.2 圖操作 201
7.2.3 圖算法 208
7.3 GraphX編程實例 211
7.4 Spark GraphFrames庫的使用 213
7.4.1 GraphFrames簡介 213
7.4.2 GraphFrames的基本數(shù)據(jù)結(jié)構(gòu) 214
7.4.3 使用GraphFrames進(jìn)行圖查詢和操作 216
7.5 Spark GraphFrames(Python)編程實例 219
實驗 221
習(xí)題 222
課程思政案例 223
第8章 視頻網(wǎng)站訪問量實時分析案例 224
8.1 項目介紹 224
8.1.1 項目背景 224
8.1.2 數(shù)據(jù)說明 225
8.1.3 技術(shù)框架 225
8.1.4 項目任務(wù) 225
8.1.5 最終效果 226
8.2 項目模塊實現(xiàn) 227
8.2.1 數(shù)據(jù)生產(chǎn)模塊 227
8.2.2 數(shù)據(jù)采集模塊 228
8.2.3 數(shù)據(jù)分析模塊 230
8.2.4 數(shù)據(jù)展示模塊 233
參考文獻(xiàn) 237
- 新時代人工智能素養(yǎng) [主編 徐永冰 張帥]
- 電子商務(wù)文案策劃與寫作 [主編 盧海濤 夏穎 黃璐云]
- 信息技術(shù)與人工智能 [主編 王錦]
- 信息技術(shù)基礎(chǔ)(活頁式) [主編 趙金考 禹晨 張尼奇 王宏斌]
- 計算機(jī)程序員教程 [主編 李學(xué)國 任小平]
- 水利水電工程施工組織設(shè)計 [主編 胡建春 錢波 何茜]
- 信息技術(shù) [主編 任洪亮 邢海燕]
- 高職美育 [王敦]
- 系統(tǒng)分析師考前沖刺100題(適配第2版考綱) [施游 鄒月平 朱小平 編著]
- 用英語介紹中國名城古鎮(zhèn) [王寶川 張元婧 編著]
- 世界文化遺產(chǎn)精選:看人文經(jīng)典學(xué)英文 [何媛 編譯]
- 網(wǎng)絡(luò)安全系統(tǒng)集成 [魯先志 何倩]
- Python統(tǒng)計分析項目化教程 [章小華 孫偉男 于虹博 李文龍]
- 交換路由技術(shù)(微課版) [喻林 卞孝麗]
- 新一代網(wǎng)絡(luò)技術(shù)與應(yīng)用 [路立勛 周寶]
- Python程序設(shè)計 [李宇]
- 機(jī)械設(shè)計基礎(chǔ)作業(yè)集 [田亞平 李愛姣]
- 用英語講中國金句(微課版) [白陽明 編著]
- 大學(xué)計算機(jī)基礎(chǔ)上機(jī)實踐教程(第八版) [主編 羅奕 錢前]
- 線性代數(shù)(第三版) [主編 江志超]
- 大學(xué)計算機(jī)基礎(chǔ) (第八版) [主編 羅 奕 胡綠慧]
- 大學(xué)計算機(jī)與人工智能基礎(chǔ) [主編 崔巖]
- 長江經(jīng)濟(jì)帶上游白酒文化旅游數(shù)字化融合創(chuàng)新研究 [李杰 著]
- 大學(xué)計算機(jī)基礎(chǔ)案例教程(第五版) [主編 張小雨 吳瀚霖]
- 體育與健康 [主編 劉傳棟 ]
- 人工智能物聯(lián)網(wǎng)應(yīng)用(基于樹莓派) [主編 陳少鋒 馮健明 郭曉花]
- 大學(xué)生勞動教育 [蹇興超 陳秀泉]
- 村鎮(zhèn)生活污水處理適用技術(shù)及工程示范 [劉秉濤 李發(fā)站 陳偉勝 著]
- 網(wǎng)絡(luò)管理員5天修煉 (適配第6版考綱) [朱小平 施游 編著]
- 全球科技新知精選:看前沿科技學(xué)英文 [王瓊 曹陽 編譯]
- Spark大數(shù)據(jù)技術(shù)基礎(chǔ)與應(yīng)用(Scala+Pyt
- Python統(tǒng)計分析項目化教程
- Excel數(shù)據(jù)處理與分析(第二版)
- 云計算原理
- Python數(shù)據(jù)分析
- 大數(shù)據(jù)技術(shù)導(dǎo)論
- HBase分布式存儲系統(tǒng)應(yīng)用(第二版)
- Hive編程技術(shù)與應(yīng)用(第二版)
- Python 語言程序設(shè)計實踐指導(dǎo)
- Spark大數(shù)據(jù)處理技術(shù)
- 數(shù)據(jù)清洗
- R語言基礎(chǔ)及應(yīng)用
- 數(shù)據(jù)庫原理及應(yīng)用(MySQL版)
- 大數(shù)據(jù)導(dǎo)論
- 大數(shù)據(jù)可視化技術(shù)
- Python語言程序設(shè)計

