本書以大數(shù)據(jù)分析應用崗位職業(yè)能力遞進為主線,較為全面地介紹了Spark大數(shù)據(jù)技術的相關知識。全書共7章,內(nèi)容包括Spark生態(tài)圈中的Spark Core、Spark SQL、Spark Streaming、GraphX、MLlib等組件,以及海量離線數(shù)據(jù)的處理、基于歷史數(shù)據(jù)的交互式查詢、基于實時數(shù)據(jù)流的大數(shù)據(jù)處理、圖計算、機器學習等知識點循序漸進地展開介紹。本書以Spark Core、Spark SQL、Spark Streaming相關知識為重點,GraphX、MLlib等組件作為擴展性知識來介紹,書結合崗位勝任能力配套多個企業(yè)級實戰(zhàn)案例與課后習題,幫助學習者更好地理解和鞏固所學知識,熟練應用相關技術,提升專業(yè)能力和綜合能力,為學習者技術提升和職業(yè)發(fā)展打下良好基礎。本書可以作為高等職業(yè)院校大數(shù)據(jù)技術、人工智能技術應用、軟件技術等相關專業(yè)教材,也可以作為從事大數(shù)據(jù)處理與分析相關技術人員的參考用書。
王小潔,女,副教授,山西職業(yè)技術學院,山西職業(yè)技術學院大數(shù)據(jù)技術專業(yè)是國家"雙高”建設專業(yè)群的龍頭專業(yè),與華為、新華三、中軟國際等知名企業(yè)開展校企合作,在人才培養(yǎng)模式創(chuàng)新、課程教學資源建設、教材與教法改革、教師教學創(chuàng)新團隊等方面均進行改革創(chuàng)新。大數(shù)據(jù)技術專業(yè)每年招生200余人,具有一定 的專業(yè)規(guī)模。
第1章 專業(yè)認知能力培養(yǎng):走進Spark 1
新手上路1.1:認知Spark 2
1.1.1 Spark的發(fā)展歷程 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在不同模式下的環(huán)境搭建 13
1.3.1 Spark本地單機模式環(huán)境搭建 13
1.3.2 Spark單機偽分布模式環(huán)境搭建 14
實戰(zhàn)演練1.4 企業(yè)級項目環(huán)境搭建 18
Spark完全分布模式環(huán)境搭建 18
歸納總結 20
勤學苦練 20
第2章 專業(yè)規(guī)范能力培養(yǎng):立足Scala 23
新手上路2.1:認知Scala 24
2.1.1 Scala簡介 24
2.1.2 Scala特性 24
2.1.3 Scala環(huán)境配置及安裝 24
2.1.4 Scala環(huán)境的運行 26
新手上路2.2:變量和數(shù)據(jù)類型 26
2.2.1 注釋 26
2.2.2 常量和變量 27
2.2.3 標識符和關鍵字 27
2.2.4 數(shù)據(jù)類型 29
2.2.5 數(shù)據(jù)類型轉換 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 運算符優(yōu)先級 38
2.3.7 流程控制 38
循序漸進2.4:函數(shù)式編程 43
2.4.1 函數(shù)的定義 43
2.4.2 函數(shù)基本語法 43
2.4.3 函數(shù)和方法的區(qū)別 45
2.4.4 函數(shù)至簡原則 46
2.4.5 匿名函數(shù) 47
2.4.6 高階函數(shù) 47
2.4.7 函數(shù)柯里化 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:數(shù)據(jù)集合與文件操作 55
2.6.1 集合簡介 55
2.6.2 數(shù)組 56
2.6.3 列表 57
2.6.4 Set集合 58
2.6.5 Map集合 59
2.6.6 元組 60
2.6.7 文件操作 61
實戰(zhàn)演練2.7:智慧交通車牌分類識別 62
2.7.1 函數(shù)識別車牌所在地 62
2.7.2 統(tǒng)計太原市車牌數(shù)量 63
2.7.3 根據(jù)車牌所在地對車牌數(shù)據(jù)分組 63
2.7.4 車牌所在地信息查詢程序 63
歸納總結 64
勤學苦練 65
第3章 崗位核心能力培養(yǎng):聚焦Spark Core 68
新手上路3.1:認知Spark核心數(shù)據(jù)集RDD 69
3.1.1 RDD簡介 70
3.1.2 RDD的特點 70
新手上路3.2:掌握RDD的創(chuàng)建 71
3.2.1 借助內(nèi)存中的集合數(shù)據(jù)創(chuàng)建RDD 72
3.2.2 從外部存儲創(chuàng)建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如何開發(fā)Spark程序 86
3.5.1 下載與安裝IntelliJ IDEA 86
3.5.2 Scala插件的安裝與使用 88
3.5.3 IntelliJ IDEA運行Spark程序 93
實戰(zhàn)演練3.6:智慧交通道路卡口車流量分析 100
3.6.1 數(shù)據(jù)獲取與數(shù)據(jù)解釋 100
3.6.2 項目編程環(huán)境搭建 101
3.6.3 交通道路卡口車流量排名分析 107
3.6.4 交通道路卡口車輛超速違章分析 110
歸納總結 114
勤學苦練 115
第4章 崗位拓展能力培養(yǎng):夯實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的創(chuàng)建 122
4.2.3 DataFrame的相關操作 127
漸入佳境4.3:熟悉Spark SQL擴展編程模型Dataset 141
4.3.1 Dataset簡介 141
4.3.2 Dataset的創(chuàng)建 142
實戰(zhàn)演練4.4:在線教育數(shù)據(jù)分析 143
4.4.1 數(shù)據(jù)獲取與數(shù)據(jù)解釋 143
4.4.2 用戶學習行為習慣分析 145
4.4.3 視頻課程點擊量排行分析 146
4.4.4 視頻課程分類排行推薦 146
歸納總結 147
勤學苦練 148
第5章 崗位綜合能力培養(yǎng):錘煉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創(chuàng)建 154
漸入佳境5.3:熟悉DStream的相關操作 157
5.3.1 DStream的轉換操作 157
5.3.2 DStream的窗口操作 158
5.3.3 DStream的輸出函數(shù) 161
實戰(zhàn)演練5.4:電商網(wǎng)站廣告點擊分析 162
5.4.1 項目環(huán)境搭建 162
5.4.2 項目數(shù)據(jù)解釋 167
5.4.3 電商網(wǎng)站廣告點擊黑名單 168
5.4.4 電商網(wǎng)站熱門廣告排行 170
歸納總結 172
勤學苦練 173
第6章 職業(yè)發(fā)展能力培養(yǎng):進階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 圖的數(shù)據(jù)與結構轉換操作 183
6.2.4 圖的關聯(lián)與聚合操作 187
實戰(zhàn)演練6.3:構建用戶購物行為網(wǎng)絡并分析用戶行為 189
6.3.1 用戶購物行為網(wǎng)絡的構建 190
6.3.2 商品的用戶購物行為次數(shù)排名 191
6.3.3 用戶不同購物行為次數(shù)統(tǒng)計 191
歸納總結 192
勤學苦練 192
第7章 職業(yè)發(fā)展能力培養(yǎng):進階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數(shù)據(jù)類型 198
循序漸進7.2:MLlib算法介紹 203
7.2.1 協(xié)同過濾算法簡介 203
7.2.2 協(xié)同過濾算法分類 203
7.2.3 MLlib中的協(xié)同過濾 205
實戰(zhàn)演練7.3:商品智能推薦 205
7.3.1 數(shù)據(jù)準備 206
7.3.2 模型構建 206
7.3.3 實戰(zhàn)實現(xiàn) 208
歸納總結 208
勤學苦練 209
參考文獻 212