Spark大數(shù)據(jù)技術(shù)基礎(chǔ)與應(yīng)用(Scala+Python版)
-
【作 者】林徐 潘立瓊 楊建柏
【I S B N 】978-7-5226-3536-1
【責(zé)任編輯】魏淵源
【適用讀者群】本專通用
【出版時(shí)間】2025-08-21
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數(shù)】244
【千字?jǐn)?shù)】390
【印 張】15.25
【定 價(jià)】¥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)和運(yùn)行機(jī)理,并提供了詳細(xì)的安裝指南;在數(shù)據(jù)處理方面詳細(xì)介紹了Spark的RDD編程、結(jié)構(gòu)化數(shù)據(jù)處理和流數(shù)據(jù)處理;涉及Spark在機(jī)器學(xué)習(xí)和圖計(jì)算領(lǐng)域的應(yīng)用,包括ML庫的使用、機(jī)器學(xué)習(xí)流水線的構(gòu)建、GraphX和GraphFrames的圖計(jì)算操作;通過豐富的編程實(shí)例幫助讀者深入理解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)建“理論+ 實(shí)踐+ 實(shí)驗(yàn)”一體化資源體系
思政深度融入——融合知識點(diǎn)與思政元素,體現(xiàn)科技發(fā)展與創(chuàng)新
視頻講解覆蓋操作全流程——操作與實(shí)驗(yàn)環(huán)節(jié)配套視頻,降低實(shí)踐門檻
Apache Spark作為一款迅速崛起的大數(shù)據(jù)處理引擎,以卓越的性能、廣泛的兼容性和高度的集成性,在大數(shù)據(jù)生態(tài)系統(tǒng)中占據(jù)舉足輕重的地位。Spark不僅提供豐富的API接口,支持Scala、Java、Python、R等編程語言,還以獨(dú)特的魅力吸引不同背景的開發(fā)者和數(shù)據(jù)科學(xué)家,成為大數(shù)據(jù)處理領(lǐng)域的首選工具。
編者精心編纂本書,旨在為讀者呈現(xiàn)一本全面、系統(tǒng)且實(shí)用的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ì)算,層層遞進(jìn),逐步引領(lǐng)讀者進(jìn)入Spark的廣闊世界。
第1章聚焦Scala與Python在Spark中的應(yīng)用基礎(chǔ),為后續(xù)學(xué)習(xí)奠定堅(jiān)實(shí)的語言基礎(chǔ);第2章引領(lǐng)讀者步入Spark的殿堂,全面了解其定義、起源、特點(diǎn)、優(yōu)勢,并與其他大數(shù)據(jù)處理工具進(jìn)行對比分析,為讀者提供宏觀的視角和深入的理解;第3章至第7章是本書核心部分,深入剖析了Spark的各方面:第3章詳細(xì)介紹RDD的編程模型,涵蓋RDD的創(chuàng)建、轉(zhuǎn)換、行動、持久化等核心概念,并通過生動的實(shí)例展現(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í)時(shí)數(shù)據(jù)處理的神秘大門;第6章引領(lǐng)讀者進(jìn)入機(jī)器學(xué)習(xí)領(lǐng)域,深入剖析Spark MLlib庫的功能與特點(diǎn),并展示常用機(jī)器學(xué)習(xí)算法的實(shí)現(xiàn)過程;第7章聚焦圖計(jì)算領(lǐng)域,介紹GraphX和GraphFrames庫的基本操作與使用方法,拓展Spark的應(yīng)用邊界;第8章為讀者提供一個(gè)針對實(shí)際問題的Spark綜合應(yīng)用案例。
在編寫本書的過程中,編者充分考慮了不同讀者的需求與背景,特別提供了Scala和Python兩種主流語言來詮釋各章內(nèi)容,旨在讓讀者在體驗(yàn)兩種語言相通之處的同時(shí)將學(xué)習(xí)重心聚焦Spark的核心功能。
本書兼顧普通高等教育與職業(yè)教育的需求,旨在打破二者間的壁壘,實(shí)現(xiàn)融合與互補(bǔ)。因此,本書不僅適用于應(yīng)用型本科高校的Spark相關(guān)課程教學(xué),還可作為職業(yè)院校Spark課程的教材。
為便于讀者學(xué)習(xí)與實(shí)踐,本書在相關(guān)章節(jié)介紹了Spark系統(tǒng)的安裝與開發(fā)環(huán)境的配置方法,同時(shí)提供了Windows系統(tǒng)下單機(jī)簡化版的大數(shù)據(jù)環(huán)境,讀者可以不必因?yàn)榇髷?shù)據(jù)環(huán)境煩瑣的安裝步驟而耽誤學(xué)習(xí)主要內(nèi)容。讀者可通過萬水書苑(http://mightybasket.cn)中的本書版塊獲取該大數(shù)據(jù)環(huán)境及其他教學(xué)資源。
本書微課視頻主要集中在各章案例部分,讀者可以對照視頻學(xué)習(xí)具體案例步驟。本書實(shí)驗(yàn)環(huán)節(jié)及綜合案例主要由新道科技股份有限公司的青椒課堂平臺(https://www.qingjiaoclass.com)提供,讀者也可以使用該平臺提供的實(shí)訓(xùn)環(huán)境學(xué)習(xí)和練習(xí)。
本書編寫團(tuán)隊(duì)匯聚了安徽三聯(lián)學(xué)院、安徽中醫(yī)藥大學(xué)、安徽新華學(xué)院的骨干教師及新道科技股份有限公司的資深工程師,其中林徐、潘立瓊、楊建柏任主編,諶婧嬌、徐志鵬、姚麗莎、何姍姍、黃銳任副主編,陳姍姍、解中華參與編寫。在此,我們衷心感謝各院校、公司及中國水利水電出版社的大力支持和鼎力相助。
盡管我們已竭盡全力追求內(nèi)容的完美與實(shí)用,但難免存在疏漏之處,在此誠摯邀請讀者提出寶貴的意見和建議,以便我們不斷改進(jìn)與完善本書,為讀者提供更好的學(xué)習(xí)體驗(yàn)。
1.1 Scala的安裝與運(yùn)行 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的運(yùn)算符和程序控制結(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
實(shí)驗(yàn) 31
習(xí)題 32
課程思政案例 33
第2章 Spark系統(tǒng)原理 35
2.1 Spark概述 35
2.1.1 Spark的定義和起源 35
2.1.2 Spark的主要特點(diǎn)和優(yōu)勢 36
2.1.3 Spark與其他大數(shù)據(jù)處理工具的比較 39
2.2 Spark系統(tǒng)架構(gòu)和運(yùn)行機(jī)理 40
2.2.1 Spark的整體架構(gòu)概覽 40
2.2.2 Spark集群的核心組件和運(yùn)行模式 41
2.2.3 Spark集群的運(yùn)行機(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)境配置與項(xiàng)目發(fā)布 49
實(shí)驗(yàn) 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的編程實(shí)例 82
3.6.1 實(shí)例1 82
3.6.2 實(shí)例2 83
3.6.3 實(shí)例3 85
3.6.4 實(shí)例4 86
3.6.5 實(shí)例5 88
實(shí)驗(yàn) 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編程實(shí)例 116
實(shí)驗(yàn) 120
習(xí)題 121
課程思政案例 121
第5章 Spark流數(shù)據(jù)處理 123
5.1 Spark Streaming概述 123
5.1.1 Spark Streaming介紹 123
5.1.2 第一個(gè)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編程實(shí)例 151
實(shí)驗(yàn) 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)簽點(diǎn) 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
實(shí)驗(yàn) 195
習(xí)題 196
課程思政案例 197
第7章 Spark圖計(jì)算 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編程實(shí)例 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)編程實(shí)例 219
實(shí)驗(yàn) 221
習(xí)題 222
課程思政案例 223
第8章 視頻網(wǎng)站訪問量實(shí)時(shí)分析案例 224
8.1 項(xiàng)目介紹 224
8.1.1 項(xiàng)目背景 224
8.1.2 數(shù)據(jù)說明 225
8.1.3 技術(shù)框架 225
8.1.4 項(xiàng)目任務(wù) 225
8.1.5 最終效果 226
8.2 項(xiàng)目模塊實(shí)現(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
- Web前端開發(fā)從學(xué)到用完美實(shí)踐 [阮曉龍 馮順磊 編著]
- 用英語講中國故事(全視頻 彩色版)上、下冊 [主編 謝亮亮 汪洋]
- 新時(shí)代大學(xué)生美育教育 [穆林 劉蒼勁 彭圣芳]
- 電子商務(wù)英語 [丁文毅 嚴(yán)慧]
- 智能可穿戴項(xiàng)目化教程 [曾文波 陳趙云]
- 視覺設(shè)計(jì)解析與實(shí)戰(zhàn)教程 [姜春磊 楊曉]
- 電子產(chǎn)品制圖與制版案例教程 [鄒莉莉 蘇文斌 賀小艷]
- 設(shè)計(jì)新維度:CMF元素與創(chuàng)新產(chǎn)品設(shè)計(jì) [彭小鵬]
- 園林樹木識別與應(yīng)用 [主編 張玉泉]
- 文本信息處理與應(yīng)用 [主編 何黎松 姚香秀]
- 工業(yè)機(jī)器人編程及應(yīng)用(第二版) [主編 向艷芳 胡月霞]
- C語言程序設(shè)計(jì)(第二版) [主編 劉祖珉 趙仕波]
- 數(shù)據(jù)分析與應(yīng)用 [主編 孫偉 王蘭芹]
- Linux操作系統(tǒng)配置與管理項(xiàng)目化教程(第二版) [主編 白玉羚 劉金明 閆 淼]
- Ansys SpaceClaim直接建模與仿真指南 [蔡宜時(shí) 編著]
- 基于大數(shù)據(jù)的智慧農(nóng)業(yè)管理平臺關(guān)鍵技術(shù)研究與實(shí)踐 [周永福 著]
- 健美運(yùn)動 [戴顯巖]
- Python程序開發(fā)基礎(chǔ)(AI+微課版) [趙艷莉 曾鑫]
- 大學(xué)生心理困境突圍之路 [張玨 著]
- 機(jī)器學(xué)習(xí)基礎(chǔ)與實(shí)踐 [主編 李曉峰 胥文婷 李云波]
- 大模型應(yīng)用實(shí)戰(zhàn) DeepSeek+即夢AI+剪映重塑創(chuàng)作 [丁紅 楊彥彥 丁丁 編著]
- HarmonyOS從入門到精通 [陳趙云 周永福 楊 浪]
- 用英語發(fā)現(xiàn)世界:歐美文化篇 [李小麗 張薇 編著]
- 大學(xué)體育教程 [戴顯巖]
- 新一代信息技術(shù) [李佼輝 任雪冬]
- 軌道交通類專門用途英語教程 [李德華主編 商曄副主編]
- 建設(shè)工程項(xiàng)目團(tuán)隊(duì)知識異質(zhì)性對團(tuán)隊(duì)績效的影響研究 [胡可]
- 新時(shí)代元陽梯田 云南現(xiàn)代化高原立體灌區(qū) 前世 今生 未來 [云南省水利水電勘測設(shè)計(jì)研究院 ]
- 網(wǎng)絡(luò)工程師章節(jié)習(xí)題與考點(diǎn)特訓(xùn)(適配第6版考綱) [夏杰 編著]
- 零基礎(chǔ)商業(yè)插畫設(shè)計(jì)與AI表現(xiàn) [主編 湯彥萱]
- 生活經(jīng)管more>>
- 文本信息處理與應(yīng)用
- Spark大數(shù)據(jù)技術(shù)基礎(chǔ)與應(yīng)用(Scala+Pyt
- Python統(tǒng)計(jì)分析項(xiàng)目化教程
- Excel數(shù)據(jù)處理與分析(第二版)
- 云計(jì)算原理
- Python數(shù)據(jù)分析
- 大數(shù)據(jù)技術(shù)導(dǎo)論
- HBase分布式存儲系統(tǒng)應(yīng)用(第二版)
- Hive編程技術(shù)與應(yīng)用(第二版)
- Python 語言程序設(shè)計(jì)實(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ù)

