定 價:49.8 元
叢書名:數(shù)據(jù)科學與大數(shù)據(jù)技術專業(yè)系列規(guī)劃教材
- 作者:林子雨 賴永炫 陶繼平
- 出版時間:2018/7/1
- ISBN:9787115475985
- 出 版 社:人民郵電出版社
- 中圖法分類:TP274
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書以Scala作為開發(fā)Spark應用程序的編程語言,系統(tǒng)介紹了Spark編程的基礎知識。全書共7章,內容包括大數(shù)據(jù)技術概述、Spark的設計與運行原理、Spark環(huán)境搭建和使用方法、RDD編程、Spark SQL、Spark Streaming、Spark MLlib等。
本書是廈門大學作者團隊長期經(jīng)驗總結的結晶,是在廈門大學《大數(shù)據(jù)技術原理與應用》入門級大數(shù)據(jù)教材的基礎之上編寫的。為了確保教程質量,在編著出版紙質教材之前,實驗室已經(jīng)于2016年10月通過實驗室官網(wǎng)免費發(fā)布共享了簡化版的Spark在線教程和相關教學資源,同時,該在線教程也已經(jīng)用于廈門大學計算機科學系研究生的大數(shù)據(jù)課程教學,并成為全國高校大數(shù)據(jù)課程教師培訓交流班的授課內容。實驗室根據(jù)讀者對在線Spark教程的大量反饋意見以及教學實踐中發(fā)現(xiàn)的問題,對Spark在線教程進行了多次修正和完善,所有這些前期準備工作,都為紙質教材的編著出版打下了堅實的基礎。
披荊斬棘,在大數(shù)據(jù)叢林中開辟學習捷徑
填溝削坎,為快速學習Spark 技術鋪平道路
深入淺出,有效降低Spark 技術學習門檻
資源全面,構建全方位一站式在線服務體系
"林子雨
廈門大學計算機科學系教師。2013年度和2017年度廈門大學教學類獎教金獲得者。中國計算機學會數(shù)據(jù)庫專業(yè)委員會委員,中國計算機學會信息系統(tǒng)專業(yè)委員會委員,廈門大學數(shù)據(jù)庫實驗室負責人,數(shù)據(jù)中國百校工程教育部專家組成員。國內高校數(shù)字教師的提出者和建設者,編著出版了國內高校系統(tǒng)介紹大數(shù)據(jù)知識的專業(yè)教材《大數(shù)據(jù)技術原理與應用》,成為國內眾多高校開課教材,同時建設了國內高校大數(shù)據(jù)課程公共服務平臺,為教師教學和學生學習大數(shù)據(jù)課程免費提供全方位、一站式服務,平臺每年訪問量超過100萬次,成為國內高校大數(shù)據(jù)教學知名系列。
"
第1章 大數(shù)據(jù)技術概述 1
1.1 大數(shù)據(jù)的概念與關鍵技術 2
1.1.1 大數(shù)據(jù)的概念 2
1.1.2 大數(shù)據(jù)關鍵技術 2
1.2 代表性大數(shù)據(jù)技術 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 本章小結 14
1.6 習題 14
實驗1 Linux系統(tǒng)的安裝和常用命令 15
一、實驗目的 15
二、實驗平臺 15
三、實驗內容和要求 15
四、實驗報告 16
第2章 Spark的設計與運行原理 17
2.1 概述 18
2.2 Spark生態(tài)系統(tǒng) 19
2.3 Spark運行架構 20
2.3.1 基本概念 20
2.3.2 架構設計 21
2.3.3 Spark運行基本流程 22
2.3.4 RDD的設計與運行原理 23
2.4 Spark的部署方式 32
2.5 本章小結 33
2.6 習題 34
第3章 Spark環(huán)境搭建和使用方法 35
3.1 安裝Spark 36
3.1.1 基礎環(huán)境 36
3.1.2 下載安裝文件 36
3.1.3 配置相關文件 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獨立應用程序 40
3.3.1 安裝編譯打包工具 41
3.3.2 編寫Spark應用程序代碼 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 關閉Spark集群 48
3.5 在集群上運行Spark應用程序 49
3.5.1 啟動Spark集群 49
3.5.2 采用獨立集群管理器 49
3.5.3 采用Hadoop YARN管理器 50
3.6 本章小結 51
3.7 習題 52
實驗2 Spark和Hadoop的安裝 52
一、實驗目的 52
二、實驗平臺 52
三、實驗內容和要求 52
四、實驗報告 53
第4章 RDD編程 54
4.1 RDD編程基礎 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 常用的鍵值對轉換操作 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 本章小結 87
實驗3 RDD編程初級實踐 87
一、實驗目的 87
二、實驗平臺 87
三、實驗內容和要求 87
四、實驗報告 89
第5章 Spark SQL 90
5.1 Spark SQL簡介 91
5.1.1 從Shark說起 91
5.1.2 Spark SQL架構 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轉換得到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 本章小結 107
5.9 習題 107
實驗4 Spark SQL編程初級實踐 108
一、實驗目的 108
二、實驗平臺 108
三、實驗內容和要求 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設計 115
6.2.2 Spark Streaming與Storm的對比 116
6.2.3 從Hadoop Storm架構轉向Spark架構 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準備工作 129
6.5.3 Spark準備工作 130
6.5.4 編寫Spark Streaming程序使用Kafka數(shù)據(jù)源 131
6.6 轉換操作 135
6.6.1 DStream無狀態(tài)轉換操作 135
6.6.2 DStream有狀態(tài)轉換操作 136
6.7 輸出操作 140
6.7.1 把DStream輸出到文本文件中 140
6.7.2 把DStream寫入到關系數(shù)據(jù)庫中 141
6.8 本章小結 143
6.9 習題 143
實驗5 Spark Streaming編程初級實踐 144
一、實驗目的 144
二、實驗平臺 144
三、實驗內容和要求 144
四、實驗報告 145
第7章 Spark Mllib 146
7.1 基于大數(shù)據(jù)的機器學習 147
7.2 機器學習庫MLlib概述 148
7.3 基本數(shù)據(jù)類型 149
7.3.1 本地向量 149
7.3.2 標注點 149
7.3.3 本地矩陣 150
7.4 機器學習流水線 151
7.4.1 流水線的概念 151
7.4.2 流水線工作過程 152
7.5 特征提取、轉換和選擇 153
7.5.1 特征提取 154
7.5.2 特征轉換 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ù)調整 180
7.9.1 模型選擇工具 180
7.9.2 用交叉驗證選擇模型 181
7.10 本章小結 183
7.11 習題 183
實驗6 Spark機器學習庫MLlib編程實踐 184
一、實驗目的 184
二、實驗平臺 184
三、實驗內容和要求 184
四、實驗報告 185
參考文獻 186