注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡網絡與數據通信網絡服務Spark海量數據處理 技術詳解與平臺實戰(zhàn)

Spark海量數據處理 技術詳解與平臺實戰(zhàn)

Spark海量數據處理 技術詳解與平臺實戰(zhàn)

定 價:¥99.00

作 者: 范東來
出版社: 人民郵電出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787115507006 出版時間: 2019-12-01 包裝:
開本: 16開 頁數: 388 字數:  

內容簡介

  本書基于Spark發(fā)行版2.4.4寫作而成,包含大量的實例與一個完整項目,層次分明,循序漸進。全書分為3部分,涵蓋了技術理論與實戰(zhàn),讀者可以從實戰(zhàn)中鞏固學習到的知識。第一部分主要圍繞BDAS(伯克利數據分析棧),不僅介紹了如何開發(fā)Spark應用的基礎內容,還介紹了Structured Streaming、Spark機器學習、Spark圖挖掘、Spark深度學習等高級主題,此外還介紹了Alluxio系統(tǒng)。第二部分實現了一個企業(yè)背景調查系統(tǒng),比較新穎的是,該系統(tǒng)借鑒了數據湖與Lambda架構的思想,涵蓋了批處理、流處理應用開發(fā),并加入了一些開源組件來滿足需求,既是對本書第一部分很好的鞏固,又完整呈現了一個實時大數據應用的開發(fā)過程。第三部分是對全書的總結和展望。本書適合準備學習Spark的開發(fā)人員和數據分析師,以及準備將Spark應用到實際項目中的開發(fā)人員和管理人員閱讀,也適合計算機相關專業(yè)的高年級本科生和研究生學習和參考,對于具有一定的Spark使用經驗并想進一步提升的數據科學從業(yè)者也是很好的參考資料。

作者簡介

  范東來,北京航空航天大學碩士,泛山科技聯(lián)合創(chuàng)始人,Spark Contributor、SupersetContributor,架構師,技術圖書作者和譯者,著有《Hadoop海量數據處理》,譯有《解讀NoSQL》《NoSQL**指南》《神經網絡算法和實現》《Hadoop深度學習》《精通數據科學算法》等,另譯有暢銷小說《巧克力時代:因為這是我的血脈》。

圖書目錄

第 一部分 基礎篇
第 1章 序篇 2
1.1 Spark與BDAS 3
1.2 Databricks 4
1.3 如何通過GitHub向Spark貢獻代碼 5
1.4 如何選擇Spark編程語言 8
1.5 函數式編程思想 9
1.6 小結 12
第 2章 Spark編程 13
2.1 Spark架構 13
2.2 Spark 2.x與Spark 3.x 15
2.2.1 Tungsten項目 16
2.2.2 統(tǒng)一Dataset和DataFrame 接口 20
2.2.3 新一代流處理技術:Structured Streaming與持續(xù)型應用 21
2.2.4 Hydrogen項目和Spark 3.x 22
2.3 部署Spark 26
2.3.1 Spark on YARN 27
2.3.2 Spark on Mesos 28
2.3.3 Spark Standalone 29
2.3.4 Spark on Kubernetes 30
2.3.5 安裝Spark 31
2.3.6 提交作業(yè) 31
2.3.7 Spark Shell 33
2.3.8 初始化SparkSession 34
2.4 RDD與算子 34
2.4.1 RDD 34
2.4.2 創(chuàng)建RDD 36
2.4.3 轉換算子 38
2.4.4 行動算子 43
2.4.5 RDD血統(tǒng)與Spark容錯 45
2.5 Spark Shuffle 47
2.5.1 Hash Shuffle 47
2.5.2 Sort-based Shuffle 49
2.6 共享變量 50
2.6.1 廣播變量 50
2.6.2 累加器 53
2.7 Spark的多語言支持 55
2.7.1 PySpark 55
2.7.2 SparkR 56
2.8 Spark性能調優(yōu) 56
2.8.1 硬件配置與資源管理平臺 57
2.8.2 參數調優(yōu)與應用調優(yōu) 57
2.9 使用Jupyter Notebook基于Spark探索數據:蒙特卡羅方法預測股票價格 64
2.9.1 Jupyter Notebook 64
2.9.2 用蒙特卡羅方法預測股票價格 67
2.10 小結 70
第3章 Spark統(tǒng)一編程接口:DataFrame、Dataset和Spark SQL 71
3.1 Catalyst優(yōu)化器 72
3.1.1 SQL抽象語法樹 72
3.1.2 從ULEP到RLEP的過程 73
3.1.3 調優(yōu)RLEP 73
3.1.4 全階段代碼生成 74
3.2 DataFrame API 75
3.2.1 創(chuàng)建DataFrame 75
3.2.2 查詢 77
3.2.3 窗口函數 80
3.2.4 用戶自定義函數 83
3.2.5 寫入 85
3.3 Dataset API 86
3.3.1 RDD、DataFrame和Dataset 87
3.3.2 安全類型的UDAF 88
3.4 Spark SQL 89
3.4.1 創(chuàng)建臨時視圖 90
3.4.2 使用Hive元數據 90
3.4.3 查詢語句 91
3.4.4 函數 94
3.4.5 用戶自定義函數 97
3.5 Google Dremel與列式存儲 97
3.5.1 Apache Parquet 99
3.5.2 Apache ORC 100
3.5.3 Apache CarbonData 100
3.5.4 對比測試 101
3.6 使用Spark SQL進行數據探索 102
3.7 小結 107
第4章 Spark流處理:Spark Streaming
與Structured Streaming 108
4.1 一個Spark Streaming流處理的例子 109
4.2 消息送達保證 110
4.3 Google MillWheel系統(tǒng)和Google Dataflow模型 114
4.3.1 Google MillWheel設計思想 114
4.3.2 Google MillWheel如何實現“恰好一次”消息送達語義 114
4.3.3 Google MillWheel對亂序數據與晚到數據的處理 115
4.3.4 Google Dataflow:流處理和批處理的統(tǒng)一與取舍 117
4.4 Spark Streaming 122
4.4.1 關鍵抽象與架構 123
4.4.2 無狀態(tài)的轉換算子 125
4.4.3 有狀態(tài)的轉換算子 129
4.4.4 輸入與輸出 134
4.4.5 Spark Streaming與Spark SQL 138
4.4.6 容錯與結果正確性 139
4.4.7 性能調優(yōu) 141
4.5 Structured Streaming 144
4.5.1 關鍵抽象與架構 144
4.5.2 操作 147
4.5.3 輸入和輸出 154
4.5.4 股票交易價格實時分析 157
4.6 流處理技術對比 162
4.7 小結 163
第5章 Spark圖計算:GraphX 164
5.1 圖模式 164
5.1.1 圖結構 164
5.1.2 圖存儲 165
5.1.3 圖數據庫 168
5.1.4 圖挖掘技術 169
5.1.5 屬性圖與RDF 170
5.2 生成圖 171
5.2.1 從已有數據中生成 172
5.2.2 通過GraphGenerators生成 174
5.3 圖算子 175
5.3.1 屬性算子 175
5.3.2 結構算子 175
5.3.3 連接算子 175
5.3.4 aggregateMessages 176
5.4 Pregel API 177
5.4.1 圖分區(qū) 177
5.4.2 像頂點一樣思考 180
5.4.3 用戶自定義函數 182
5.4.4 PageRank的GraphX實現 183
5.4.5 標簽傳播算法 186
5.5 SQL on Graph 187
5.5.1 生成圖 188
5.5.2 SQL查詢 189
5.5.3 模式發(fā)現 190
5.5.4 一些GraphX已經有的算法 191
5.5.5 一些GraphX沒有的算法 191
5.5.6 AggregateMessages 192
5.6 n度鄰居頂點算法 193
5.7 小結 196
第6章 Spark機器學習:MLlib 197
6.1 機器學習 197
6.1.1 典型的機器學習工作流 198
6.1.2 機器學習任務的學習類型 199
6.2 Spark MLlib與Spark ML 201
6.3 數據預處理 205
6.3.1 數據標準化 205
6.3.2 缺失值處理 207
6.3.3 特征抽取 208
6.3.4 特征選擇 212
6.4 分類算法應用 214
6.4.1 決策樹 214
6.4.2 隨機森林 217
6.4.3 人體狀態(tài)監(jiān)測器 218
6.4.4 集成學習 223
6.4.5 梯度提升決策樹 224
6.5 聚類算法應用 225
6.5.1 物以類聚 225
6.5.2 k均值聚類算法 226
6.5.3 實現 227
6.6 推薦系統(tǒng)應用 230
6.6.1 基于用戶的協(xié)同過濾 231
6.6.2 基于商品的協(xié)同過濾 233
6.6.3 兩種協(xié)同過濾的對比 235
6.6.4 基于模型的協(xié)同過濾 236
6.6.5 Movielens電影推薦系統(tǒng) 237
6.7 訓練之后 238
6.7.1 模型評估 239
6.7.2 交叉驗證與超參調優(yōu) 241
6.8 流式機器學習 242
6.8.1 流回歸 242
6.8.2 流聚類 244
6.8.3 用流處理應用來監(jiān)控模型 245
6.9 小結 249
第7章 Spark深度學習:Deeplearning4j 250
7.1 常見的深度學習框架 251
7.2 Deeplearning4j 252
7.3 卷積神經網絡 252
7.3.1 理解卷積神經網絡 252
7.3.2 用Deeplearning4j訓練卷積神經網絡 254
7.4 循環(huán)神經網絡 257
7.4.1 理解循環(huán)神經網絡 258
7.4.2 用Deeplearning4j訓練循環(huán)神經網絡 262
7.5 自動編碼器 264
7.5.1 理解自動編碼器 264
7.5.2 用Deeplearning4j訓練自動編碼器 267
7.6 使用GPU 269
7.7 小結 270
第8章 分布式存儲:Alluxio 271
8.1 Alluxio架構 271
8.1.1 Alluxio的組成部分 273
8.1.2 虛擬的Alluxio 273
8.1.3 統(tǒng)一而透明的命名空間 274
8.2 快速上手Alluxio 275
8.2.1 安裝Alluxio 275
8.2.2 Alluxio配置 276
8.2.3 Alluxio血統(tǒng)機制 277
8.3 與上層框架集成 277
8.3.1 與Spark集成 278
8.3.2 與Presto集成 279
8.3.3 與HBase集成 280
8.4 與底層存儲系統(tǒng)集成 281
8.4.1 與Ceph集成 281
8.4.2 掛載其他文件系統(tǒng) 281
8.5 如何訪問Alluxio 282
8.6 Alluxio應用案例 283
8.6.1 攜程網 283
8.6.2 滴滴出行 284
8.6.3 陌陌 286
8.7 小結 288
第二部分 應用篇
第9章 企業(yè)數據湖與Lambda架構 290
9.1 數據湖 290
9.1.1 數據的湖泊 290
9.1.2 數據湖要解決的問題 291
9.1.3 數據湖與數據倉庫對比 292
9.1.4 數據湖如何工作 293
9.2 Lambda架構 293
9.2.1 批處理層 294
9.2.2 服務層 295
9.2.3 速度層 295
9.2.4 Lambda架構 296
9.2.5 Lambda架構的原則 297
9.3 基于Lambda架構的數據湖分層設計 297
9.3.1 數據獲取層 298
9.3.2 消息層 299
9.3.3 數據攝取層 300
9.3.4 數據存儲層 300
9.3.5 Lambda層 301
9.4 Lambda架構的應用 301
9.4.1 搜索引擎 301
9.4.2 Druid 302
9.5 構建Lambda架構的技術 303
9.6 小結 304
第 10章 大數據企業(yè)動態(tài)背景調查平臺 305
10.1 企業(yè)背景調查 305
10.2 基于大數據的企業(yè)動態(tài)背景調查 308
10.2.1 企業(yè)行為信息 308
10.2.2 企業(yè)關聯(lián)方分析 311
10.3 數據采集與數據字典 313
10.4 企業(yè)背景調查平臺需求 317
10.4.1 企業(yè)關聯(lián)圖譜展示 317
10.4.2 企業(yè)風險指標計算 318
10.5 企業(yè)關聯(lián)圖譜的模式 318
10.6 傳統(tǒng)數據倉庫架構 320
10.7 小結 321
第 11章 平臺設計 322
11.1 平臺架構 322
11.1.1 數據源 323
11.1.2 數據管道 323
11.1.3 速度層 325
11.1.4 批處理層 325
11.1.5 服務層 325
11.1.6 查詢層 325
11.1.7 可視化組件 325
11.2 物理拓撲 326
11.3 服務層圖數據庫設計 326
11.4 項目規(guī)劃 327
11.5 小結 327
第 12章 數據管道層 328
12.1 安裝并配置canal 328
12.2 實現Kafka生產者 330
12.3 安裝并配置Flume 335
12.4 小結 336
第 13章 速度層 337
13.1 速度層輸入 337
13.1.1 類型1 338
13.1.2 類型2 338
13.1.3 類型3 339
13.1.4 類型4 340
13.2 Cypher基礎 341
13.2.1 寫入 342
13.2.2 讀取 343
13.2.3 刪除 344
13.3 生成Cypher語句 345
13.3.1 類型1 345
13.3.2 類型2 346
13.3.3 類型3 346
13.3.4 類型4 346
13.3.5 實現 347
13.4 整合Structured Streaming 352
13.4.1 Neo4jWriter 353
13.4.2 啟動流 354
13.5 小結 355
第 14章 批處理層 356
14.1 自融風險監(jiān)測 356
14.2 生成主數據集 357
14.2.1 全量與增量 358
14.2.2 合并 359
14.2.3 數據治理 361
14.3 用GraphX計算企業(yè)自融風險值 363
14.4 導入HBase 364
14.5 調度中心 366
14.5.1 Airflow 366
14.5.2 配置 368
14.6 小結 370
第 15章 服務層與查詢層 371
15.1 不僅僅是合并 371
15.1.1 NetworkX 372
15.1.2 計算流程 372
15.2 接口開發(fā) 372
15.3 小結 376
第三部分 總結篇
第 16章 總結和展望 378
16.1 統(tǒng)一的大數據處理接口 378
16.1.1 Unified Spark 378
16.1.2 Apache Beam 379
16.2 Kappa架構 380
16.3 大數據處理技術 382
16.3.1 Apache Flink 382
16.3.2 Apache Apex 383
16.3.3 Ray 384
16.4 Spark未來發(fā)展方向 386

本目錄推薦

掃描二維碼
Copyright ? 讀書網 ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號