商品描述
本書以大數據分析應用崗位職業能力遞進為主線,較為全面地介紹了Spark大數據技術的相關知識。全書共7章,內容包括Spark生態圈中的Spark Core、Spark SQL、Spark Streaming、GraphX、MLlib等組件,以及海量離線數據的處理、基於歷史數據的交互式查詢、基於實時數據流的大數據處理、圖計算、機器學習等知識點循序漸進地展開介紹。本書以Spark Core、Spark SQL、Spark Streaming相關知識為重點,GraphX、MLlib等組件作為擴展性知識來介紹,書結合崗位勝任能力配套多個企業級實戰案例與課後習題,幫助學習者更好地理解和鞏固所學知識,熟練應用相關技術,提升專業能力和綜合能力,為學習者技術提升和職業發展打下良好基礎。本書可以作為高等職業院校大數據技術、人工智能技術應用、軟件技術等相關專業教材,也可以作為從事大數據處理與分析相關技術人員的參考用書。
目錄大綱
第1章  專業認知能力培養:走進Spark	1
新手上路1.1:認知Spark	2
1.1.1  Spark的發展歷程	2
1.1.2  Spark的特點	3
1.1.3  Spark技術棧	4
1.1.4  Spark術語	5
1.1.5  Spark的應用場景	6
循序漸進1.2:瞭解Spark的運行架構與運行模式	7
1.2.1  Spark的運行架構	7
1.2.2  Spark的運行模式及運行流程	8
1.2.3  Spark核心概念RDD	12
漸入佳境1.3:掌握Spark在不同模式下的環境搭建	13
1.3.1  Spark本地單機模式環境搭建	13
1.3.2  Spark單機偽分佈模式環境搭建	14
實戰演練1.4  企業級項目環境搭建	18
Spark完全分佈模式環境搭建	18
歸納總結	20
勤學苦練	20
第2章  專業規範能力培養:立足Scala	23
新手上路2.1:認知Scala	24
2.1.1  Scala簡介	24
2.1.2  Scala特性	24
2.1.3  Scala環境配置及安裝	24
2.1.4  Scala環境的運行	26
新手上路2.2:變量和數據類型	26
2.2.1  註釋	26
2.2.2  常量和變量	27
2.2.3  標識符和關鍵字	27
2.2.4  數據類型	29
2.2.5  數據類型轉換	32
2.2.6  Scala輸出	34
新手上路2.3:運算符和流程控制	35
2.3.1  算術運算符	35
2.3.2  關系運算符	36
2.3.3  邏輯運算符	37
2.3.4  賦值運算符	37
2.3.5  位運算符	38
2.3.6  運算符優先級	38
2.3.7  流程控制	38
循序漸進2.4:函數式編程	43
2.4.1  函數的定義	43
2.4.2  函數基本語法	43
2.4.3  函數和方法的區別	45
2.4.4  函數至簡原則	46
2.4.5  匿名函數	47
2.4.6  高階函數	47
2.4.7  函數柯里化	48
循序漸進2.5:面向對象編程	49
2.5.1  包	49
2.5.2  類和對象	50
2.5.3  封裝	51
2.5.4  繼承	52
2.5.5  抽象類	53
2.5.6  伴生對象	53
2.5.7  特質	54
循序漸進2.6:數據集合與文件操作	55
2.6.1  集合簡介	55
2.6.2  數組	56
2.6.3  列表	57
2.6.4  Set集合	58
2.6.5  Map集合	59
2.6.6  元組	60
2.6.7  文件操作	61
實戰演練2.7:智慧交通車牌分類識別	62
2.7.1  函數識別車牌所在地	62
2.7.2  統計太原市車牌數量	63
2.7.3  根據車牌所在地對車牌數據分組	63
2.7.4  車牌所在地信息查詢程序	63
歸納總結	64
勤學苦練	65
第3章  崗位核心能力培養:聚焦Spark Core	68
新手上路3.1:認知Spark核心數據集RDD	69
3.1.1  RDD簡介	70
3.1.2  RDD的特點	70
新手上路3.2:掌握RDD的創建	71
3.2.1  借助內存中的集合數據創建RDD	72
3.2.2  從外部存儲創建RDD	73
循序漸進3.3:掌握RDD的算子操作	74
3.3.1  算子的概念與作用	74
3.3.2  轉換算子的操作與使用	75
3.3.3  鍵-值對類型RDD算子的操作與使用	78
3.3.4  行動算子的操作與使用	80
循序漸進3.4:掌握RDD的文件操作	83
3.4.1  JSON格式文件的讀取與存儲	83
3.4.2  SequenceFile格式文件的存儲與讀取	85
漸入佳境3.5:瞭解IntelliJ IDEA如何開發Spark程序	86
3.5.1  下載與安裝IntelliJ IDEA	86
3.5.2  Scala插件的安裝與使用	88
3.5.3  IntelliJ IDEA運行Spark程序	93
實戰演練3.6:智慧交通道路卡口車流量分析	100
3.6.1  數據獲取與數據解釋	100
3.6.2  項目編程環境搭建	101
3.6.3  交通道路卡口車流量排名分析	107
3.6.4  交通道路卡口車輛超速違章分析	110
歸納總結	114
勤學苦練	115
第4章  崗位拓展能力培養:夯實Spark SQL	117
新手上路4.1:初識Spark SQL	118
4.1.1  Spark SQL簡介	118
4.1.2  Spark SQL特點	119
4.1.3  Spark SQL的Spark Shell交互	120
循序漸進4.2:掌握Spark SQL核心編程模型DataFrame	121
4.2.1  DataFrame簡介	121
4.2.2  DataFrame的創建	122
4.2.3  DataFrame的相關操作	127
漸入佳境4.3:熟悉Spark SQL擴展編程模型Dataset	141
4.3.1  Dataset簡介	141
4.3.2  Dataset的創建	142
實戰演練4.4:在線教育數據分析	143
4.4.1  數據獲取與數據解釋	143
4.4.2  用戶學習行為習慣分析	145
4.4.3  視頻課程點擊量排行分析	146
4.4.4  視頻課程分類排行推薦	146
歸納總結	147
勤學苦練	148
第5章  崗位綜合能力培養:錘煉Spark Streaming	150
新手上路5.1:初識Spark Streaming	151
5.1.1  Spark Streaming概述	151
5.1.2  Spark Streaming特點	152
5.1.3  Spark Streaming工作原理	152
循序漸進5.2:掌握DStream編程模型	153
5.2.1  DStream簡介	153
5.2.2  DStream創建	154
漸入佳境5.3:熟悉DStream的相關操作	157
5.3.1  DStream的轉換操作	157
5.3.2  DStream的窗口操作	158
5.3.3  DStream的輸出函數	161
實戰演練5.4:電商網站廣告點擊分析	162
5.4.1  項目環境搭建	162
5.4.2  項目數據解釋	167
5.4.3  電商網站廣告點擊黑名單	168
5.4.4  電商網站熱門廣告排行	170
歸納總結	172
勤學苦練	173
第6章  職業發展能力培養:進階Spark GraphX圖計算	175
新手上路6.1:初識Spark GraphX	176
6.1.1  圖計算的概念與應用	176
6.1.2  Spark GraphX的概念	178
6.1.3  Spark GraphX的特性	178
循序漸進6.2:掌握GraphX編程模型	178
6.2.1  屬性圖的構建	179
6.2.2  圖的查詢操作	182
6.2.3  圖的數據與結構轉換操作	183
6.2.4  圖的關聯與聚合操作	187
實戰演練6.3:構建用戶購物行為網絡並分析用戶行為	189
6.3.1  用戶購物行為網絡的構建	190
6.3.2  商品的用戶購物行為次數排名	191
6.3.3  用戶不同購物行為次數統計	191
歸納總結	192
勤學苦練	192
第7章  職業發展能力培養:進階Spark MLlib算法庫	195
新手上路7.1:初識Spark MLlib	196
7.1.1  什麽是機器學習	196
7.1.2  機器學習算法	197
7.1.3  Spark機器學習庫MLlib	197
7.1.4  MLlib數據類型	198
循序漸進7.2:MLlib算法介紹	203
7.2.1  協同過濾算法簡介	203
7.2.2  協同過濾算法分類	203
7.2.3  MLlib中的協同過濾	205
實戰演練7.3:商品智能推薦	205
7.3.1  數據準備	206
7.3.2  模型構建	206
7.3.3  實戰實現	208
歸納總結	208
勤學苦練	209
參考文獻	212
