定 價:49.8 元
叢書名:數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專業(yè)系列規(guī)劃教材
- 作者:林子雨 賴永炫 陶繼平
- 出版時間:2018/7/1
- ISBN:9787115475985
- 出 版 社:人民郵電出版社
- 中圖法分類:TP274
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書以Scala作為開發(fā)Spark應(yīng)用程序的編程語言,系統(tǒng)介紹了Spark編程的基礎(chǔ)知識。全書共7章,內(nèi)容包括大數(shù)據(jù)技術(shù)概述、Spark的設(shè)計與運行原理、Spark環(huán)境搭建和使用方法、RDD編程、Spark SQL、Spark Streaming、Spark MLlib等。
本書是廈門大學(xué)作者團隊長期經(jīng)驗總結(jié)的結(jié)晶,是在廈門大學(xué)《大數(shù)據(jù)技術(shù)原理與應(yīng)用》入門級大數(shù)據(jù)教材的基礎(chǔ)之上編寫的。為了確保教程質(zhì)量,在編著出版紙質(zhì)教材之前,實驗室已經(jīng)于2016年10月通過實驗室官網(wǎng)免費發(fā)布共享了簡化版的Spark在線教程和相關(guān)教學(xué)資源,同時,該在線教程也已經(jīng)用于廈門大學(xué)計算機科學(xué)系研究生的大數(shù)據(jù)課程教學(xué),并成為全國高校大數(shù)據(jù)課程教師培訓(xùn)交流班的授課內(nèi)容。實驗室根據(jù)讀者對在線Spark教程的大量反饋意見以及教學(xué)實踐中發(fā)現(xiàn)的問題,對Spark在線教程進行了多次修正和完善,所有這些前期準(zhǔn)備工作,都為紙質(zhì)教材的編著出版打下了堅實的基礎(chǔ)。
披荊斬棘,在大數(shù)據(jù)叢林中開辟學(xué)習(xí)捷徑
填溝削坎,為快速學(xué)習(xí)Spark 技術(shù)鋪平道路
深入淺出,有效降低Spark 技術(shù)學(xué)習(xí)門檻
資源全面,構(gòu)建全方位一站式在線服務(wù)體系
"林子雨
廈門大學(xué)計算機科學(xué)系教師。2013年度和2017年度廈門大學(xué)教學(xué)類獎教金獲得者。中國計算機學(xué)會數(shù)據(jù)庫專業(yè)委員會委員,中國計算機學(xué)會信息系統(tǒng)專業(yè)委員會委員,廈門大學(xué)數(shù)據(jù)庫實驗室負責(zé)人,數(shù)據(jù)中國百校工程教育部專家組成員。國內(nèi)高校數(shù)字教師的提出者和建設(shè)者,編著出版了國內(nèi)高校系統(tǒng)介紹大數(shù)據(jù)知識的專業(yè)教材《大數(shù)據(jù)技術(shù)原理與應(yīng)用》,成為國內(nèi)眾多高校開課教材,同時建設(shè)了國內(nèi)高校大數(shù)據(jù)課程公共服務(wù)平臺,為教師教學(xué)和學(xué)生學(xué)習(xí)大數(shù)據(jù)課程免費提供全方位、一站式服務(wù),平臺每年訪問量超過100萬次,成為國內(nèi)高校大數(shù)據(jù)教學(xué)知名系列。
"
第1章 大數(shù)據(jù)技術(shù)概述 1
1.1 大數(shù)據(jù)的概念與關(guān)鍵技術(shù) 2
1.1.1 大數(shù)據(jù)的概念 2
1.1.2 大數(shù)據(jù)關(guān)鍵技術(shù) 2
1.2 代表性大數(shù)據(jù)技術(shù) 4
1.2.1 Hadoop 4
1.2.2 Spark 8
1.2.3 Flink 10
1.2.4 Beam 11
1.3 編程語言的選擇 12
1.4 在線資源 13
1.5 本章小結(jié) 14
1.6 習(xí)題 14
實驗1 Linux系統(tǒng)的安裝和常用命令 15
一、實驗?zāi)康摹?5
二、實驗平臺 15
三、實驗內(nèi)容和要求 15
四、實驗報告 16
第2章 Spark的設(shè)計與運行原理 17
2.1 概述 18
2.2 Spark生態(tài)系統(tǒng) 19
2.3 Spark運行架構(gòu) 20
2.3.1 基本概念 20
2.3.2 架構(gòu)設(shè)計 21
2.3.3 Spark運行基本流程 22
2.3.4 RDD的設(shè)計與運行原理 23
2.4 Spark的部署方式 32
2.5 本章小結(jié) 33
2.6 習(xí)題 34
第3章 Spark環(huán)境搭建和使用方法 35
3.1 安裝Spark 36
3.1.1 基礎(chǔ)環(huán)境 36
3.1.2 下載安裝文件 36
3.1.3 配置相關(guān)文件 37
3.1.4 Spark和Hadoop的交互 38
3.2 在spark-shell中運行代碼 38
3.2.1 spark-shell命令 39
3.2.2 啟動spark-shell 40
3.3 開發(fā)Spark獨立應(yīng)用程序 40
3.3.1 安裝編譯打包工具 41
3.3.2 編寫Spark應(yīng)用程序代碼 42
3.3.3 編譯打包 42
3.3.4 通過spark-submit運行程序 45
3.4 Spark集群環(huán)境搭建 45
3.4.1 集群概況 46
3.4.2 搭建Hadoop集群 46
3.4.3 在集群中安裝Spark 47
3.4.4 配置環(huán)境變量 47
3.4.5 Spark的配置 47
3.4.6 啟動Spark集群 48
3.4.7 關(guān)閉Spark集群 48
3.5 在集群上運行Spark應(yīng)用程序 49
3.5.1 啟動Spark集群 49
3.5.2 采用獨立集群管理器 49
3.5.3 采用Hadoop YARN管理器 50
3.6 本章小結(jié) 51
3.7 習(xí)題 52
實驗2 Spark和Hadoop的安裝 52
一、實驗?zāi)康摹?2
二、實驗平臺 52
三、實驗內(nèi)容和要求 52
四、實驗報告 53
第4章 RDD編程 54
4.1 RDD編程基礎(chǔ) 55
4.1.1 RDD創(chuàng)建 55
4.1.2 RDD操作 56
4.1.3 持久化 62
4.1.4 分區(qū) 63
4.1.5 一個綜合實例 67
4.2 鍵值對RDD 69
4.2.1 鍵值對RDD的創(chuàng)建 69
4.2.2 常用的鍵值對轉(zhuǎn)換操作 70
4.2.3 一個綜合實例 74
4.3 數(shù)據(jù)讀寫 75
4.3.1 文件數(shù)據(jù)讀寫 76
4.3.2 讀寫HBase數(shù)據(jù) 78
4.4 綜合實例 82
4.4.1 求TOP值 82
4.4.2 文件排序 84
4.4.3 二次排序 85
4.5 本章小結(jié) 87
實驗3 RDD編程初級實踐 87
一、實驗?zāi)康摹?7
二、實驗平臺 87
三、實驗內(nèi)容和要求 87
四、實驗報告 89
第5章 Spark SQL 90
5.1 Spark SQL簡介 91
5.1.1 從Shark說起 91
5.1.2 Spark SQL架構(gòu) 92
5.1.3 為什么推出Spark SQL 93
5.2 DataFrame概述 93
5.3 DataFrame的創(chuàng)建 94
5.4 DataFrame的保存 95
5.5 DataFrame的常用操作 96
5.6 從RDD轉(zhuǎn)換得到DataFrame 97
5.6.1 利用反射機制推斷RDD模式 98
5.6.2 使用編程方式定義RDD模式 99
5.7 使用Spark SQL讀寫數(shù)據(jù)庫 101
5.7.1 通過JDBC連接數(shù)據(jù)庫 101
5.7.2 連接Hive讀寫數(shù)據(jù) 103
5.8 本章小結(jié) 107
5.9 習(xí)題 107
實驗4 Spark SQL編程初級實踐 108
一、實驗?zāi)康摹?08
二、實驗平臺 108
三、實驗內(nèi)容和要求 108
四、實驗報告 109
第6章 Spark Streaming 110
6.1 流計算概述 111
6.1.1 靜態(tài)數(shù)據(jù)和流數(shù)據(jù) 111
6.1.2 批量計算和實時計算 112
6.1.3 流計算概念 112
6.1.4 流計算框架 113
6.1.5 流計算處理流程 114
6.2 Spark Streaming 115
6.2.1 Spark Streaming設(shè)計 115
6.2.2 Spark Streaming與Storm的對比 116
6.2.3 從Hadoop Storm架構(gòu)轉(zhuǎn)向Spark架構(gòu) 117
6.3 DStream操作概述 118
6.3.1 Spark Streaming工作機制 118
6.3.2 編寫Spark Streaming程序的基本步驟 119
6.3.3 創(chuàng)建StreamingContext對象 119
6.4 基本輸入源 120
6.4.1 文件流 120
6.4.2 套接字流 122
6.4.3 RDD隊列流 127
6.5 高級數(shù)據(jù)源 128
6.5.1 Kafka簡介 129
6.5.2 Kafka準(zhǔn)備工作 129
6.5.3 Spark準(zhǔn)備工作 130
6.5.4 編寫Spark Streaming程序使用Kafka數(shù)據(jù)源 131
6.6 轉(zhuǎn)換操作 135
6.6.1 DStream無狀態(tài)轉(zhuǎn)換操作 135
6.6.2 DStream有狀態(tài)轉(zhuǎn)換操作 136
6.7 輸出操作 140
6.7.1 把DStream輸出到文本文件中 140
6.7.2 把DStream寫入到關(guān)系數(shù)據(jù)庫中 141
6.8 本章小結(jié) 143
6.9 習(xí)題 143
實驗5 Spark Streaming編程初級實踐 144
一、實驗?zāi)康摹?44
二、實驗平臺 144
三、實驗內(nèi)容和要求 144
四、實驗報告 145
第7章 Spark Mllib 146
7.1 基于大數(shù)據(jù)的機器學(xué)習(xí) 147
7.2 機器學(xué)習(xí)庫MLlib概述 148
7.3 基本數(shù)據(jù)類型 149
7.3.1 本地向量 149
7.3.2 標(biāo)注點 149
7.3.3 本地矩陣 150
7.4 機器學(xué)習(xí)流水線 151
7.4.1 流水線的概念 151
7.4.2 流水線工作過程 152
7.5 特征提取、轉(zhuǎn)換和選擇 153
7.5.1 特征提取 154
7.5.2 特征轉(zhuǎn)換 156
7.5.3 特征選擇 161
7.5.4 局部敏感哈!162
7.6 分類算法 163
7.6.1 邏輯斯蒂回歸分類器 163
7.6.2 決策樹分類器 167
7.7 聚類算法 170
7.7.1 K-Means聚類算法 171
7.7.2 GMM聚類算法 173
7.8 協(xié)同過濾算法 175
7.8.1 推薦算法的原理 176
7.8.2 ALS算法 176
7.9 模型選擇和超參數(shù)調(diào)整 180
7.9.1 模型選擇工具 180
7.9.2 用交叉驗證選擇模型 181
7.10 本章小結(jié) 183
7.11 習(xí)題 183
實驗6 Spark機器學(xué)習(xí)庫MLlib編程實踐 184
一、實驗?zāi)康摹?84
二、實驗平臺 184
三、實驗內(nèi)容和要求 184
四、實驗報告 185
參考文獻 186