Spark大數據編程實用教程

Spark大數據編程實用教程》是由艾叔主編,機械工業出版社出版的一本Spark編程學習書籍。本書既可作為高等學校大數據、雲計算人工智慧相關專業的教材,也可以作為Spark學習者和大數據研發人員的技術參考書。

基本介紹

  • 書名:Spark大數據編程實用教程
  • 作者:艾叔、汪忠洋
  • 出版社:機械工業出版社
  • 頁數:372 頁
  • 定價:109 元
圖書目錄,出版背景,作者簡介,
本書是一本講解Spark基礎套用及編程的實用教程,基於 Spark 2.3 版本,內容包括 Spark 與大數據、構建 Spark 運行環境、開發一個Spark 程式、深入理解 Spark 程式代碼、RDD 編程、Spark SQL 結構化數據處理、Spark Streaming、Structured Streaming、SparkR和GraphX。本書總結了Spark 學習的關鍵點;提出了 Spark 快速學習路線圖;提供配套的 Spark前置課程學習資源連結,包括虛擬機Linux Shell 免費高清視頻、《零基礎快速入門Scala》免費電子書等,幫助零基礎讀者迅速夯實Spark基礎。
本書配以大量的示例、原始碼和注釋,可以幫助讀者快速、全面而又深入地掌握Spark編程技能。
本書既可作為高等院校大數據、雲計算和人工智慧相關專業的教材,也可以作為Spark學習者和大數據研發人員的技術參考書。

圖書目錄

目    錄
前言
第1章  Spark與大數據 1
1.1  大數據開發基礎 1
1.1.1  什麼是大數據 1
1.1.2  大數據開發的通用步驟 2
1.1.3  大數據開發技術 4
1.2  初識Spark 10
1.2.1  Spark是什麼 10
1.2.2  Spark的技術特點 11
1.3  Spark技術棧 12
1.4  Spark重要組件 13
1.4.1  Spark Core 13
1.4.2  Spark SQL 14
1.4.3  GraphX 15
1.4.4  流數據處理 16
1.4.5  SparkR 17
1.4.6  MLlib/ML 18
1.4.7  Spark互動工具 18
1.5  Spark和Scala 19
1.5.1  Scala語言簡介 19
1.5.2  為什麼用Scala開發Spark框架 20
1.5.3  為什麼用Scala開發Spark程式 20
1.5.4  Scala開發Spark程式所涉及的技術 20
1.5.5  Scala語言基礎 21
1.6  如何快速掌握Spark 21
1.6.1  Spark學習的痛點 21
1.6.2  Spark快速學習路線圖 22
1.6.3  Spark學習中的關鍵點 23
1.6.4  利用本書相關資源高效學習Spark 23
1.6.5  本書所使用的軟體和版本 25
1.7  練習 25
第2章  構建Spark運行環境 26
2.1  Spark程式運行時架構 26
2.2  構建Spark大數據運行環境 28
2.2.1  構建HDFS 28
2.2.2  構建Yarn 30
2.2.3  構建Spark集群 31
2.3  運行Spark程式(Local方式) 31
2.4  運行Spark程式(分散式方式) 32
2.4.1  Spark on Yarn 32
2.4.2  Spark on Standalone 36
2.5  Spark程式在spark-shell上運行 41
2.6  使用Web UI監控Spark程式運行 43
2.7  擴展集群節點 48
2.8  練習 49
第3章  開發第一個Spark程式 51
3.1  在命令行模式下開發Spark程式 51
3.1.1  構建Scala程式編譯環境 51
3.1.2  使用Vim編寫Spark程式 53
3.1.3  使用命令編譯、打包Spark程式 54
3.1.4  運行Spark程式 56
3.1.5  使用java命令運行Spark程式 57
3.1.6  Spark程式編譯、運行、部署的關鍵點 58
3.2  使用IDEA開發Spark程式 58
3.2.1  IDEA安裝和基本使用 59
3.2.2  使用IDEA編輯Spark代碼 60
3.2.3  IDEA編譯、打包 62
3.2.4  IDEA遠程提交Spark程式 63
3.3  練習 64
第4章  深入理解Spark程式代碼 66
4.1  Spark程式代碼結構 66
4.2  Spark程式代碼的核心概念 68
4.2.1  RDD 68
4.2.2  Application 68
4.2.3  Job 69
4.2.4  DAG 70
4.2.5  Stage 72
4.2.6  Task 76
4.2.7  Application、Job、Stage和Task的並行粒度和並行條件 77
4.3  Spark程式代碼執行過程 77
4.4  練習 85
第5章  RDD編程 86
5.1  RDD核心概念 86
5.1.1  Transformation的基本概念 87
5.1.2  Action的基本概念 88
5.1.3  Partition的基本概念 88
5.2  創建RDD 89
5.3  RDD Partition 93
5.4  Transformation操作 107
5.5  Action操作 130
5.6  RDD的cache/persist和checkpoint操作 136
5.7  練習 140
第6章  Spark SQL結構化數據處理 142
6.1  Spark SQL的核心概念 142
6.2  Spark SQL數據處理概述 147
6.3  構建Spark SQL運行環境 150
6.4  DataFrame/Dataset快速上手 157
6.5  DataFrame/Dataset與數據源的轉換 165
6.6  DataFrame/Dataset常用API 198
6.7  SQL操作 223
6.8  練習 234
第7章  Spark Streaming 236
7.1  Spark Streaming基礎 236
7.2  編寫一個Spark Streaming程式 241
7.3  Spark Streaming Web UI的使用 244
7.4  多路流數據合併處理示例 250
7.5  DStream Transformation操作 255
7.6  DStream Output 操作 262
7.7  練習 264
第8章  Structured Streaming 265
8.1  Structured Streaming基礎 265
8.2  Structured Streaming接入Text File數據源 268
8.3  Structured Streaming接入Rate數據源 273
8.4  使用Schema解析JSON格式數據源 274
8.5  使用DataFrame/Dataset處理流數據 277
8.6  Structured Streaming Window操作 282
8.7  Structured Streaming Watermarking操作 288
8.8  Structured Streaming JOIN操作 290
8.9  練習 304
第9章  SparkR 305
9.1  SparkR基礎 305
9.2  構建SparkR程式開發和運行環境 307
9.3  SparkR代碼的執行方式 308
9.4  SparkR的基本使用 314
9.5  SparkR機器學習運算元 323
9.6  利用SparkR實現單詞統計和圖形輸出 326
9.7  練習 329
第10章  GraphX 330
10.1  GraphX基礎 330
10.2  GraphX的基本數據結構 335
10.3  GraphX實現最短路徑算法——SGDSP 354
10.4  GraphX Pregel的原理及使用 361
10.5  GraphX Pregel實現最短路徑算法——SGPSP 366
10.6  練習 370
參考文獻 372

出版背景

在大數據開發中,大數據處理是其中十分關鍵、必不可少的一環。Spark 是主流的通用大數據處理平台,因此,要學習大數據開發,必然要學習 Spark。
近年來,編者在大數據教學上,尤其是在 Spark 技術的套用和推廣上進行了一系列有益的嘗試。
  • 在全國較早地開設了雲計算及大數據相關課程。
  • 在全國較早地對本科生開展了系統、深入的 Spark編程訓練。
  • 主講的Spark實戰視頻課程在51CTO學院長期排名大數據(Spark分類)課程的年銷量第一。
在此期間,編者接觸並培養了大量的零基礎 Spark 學習者,總結出 Spark 初學者的四個共性問題。
以上就是《Spark 大數據編程實用教程》的出版背景,本書力圖能夠幫助 Spark 初學者快速掌握Spark編程技能,少走彎路,具體做法如下。
本書共10章,分別是Spark與大數據、構建 Spark 運行環境、開發第一個Spark程式、深入理解Spark 程式代碼、RDD 編程、Spark SQL 結構化數據處理、Spark Streaming、Structured Streaming、Spark R和GraphX。

作者簡介

文艾(艾叔):系統分析師,原解放軍理工大學-奇虎360聯合實驗室技術負責人;具有多年大數據開發和運維經驗,帶領團隊完成了與華為、中興通訊和奇虎360等公司的多個大數據類項目;曾受邀為中興通訊和奇虎360等公司做技術培訓,其主講的Spark課程長期排名51CTO學院大數據類(Spark分類)年銷量前列;擅長幫助初學者快速掌握Spark大數據編程技能,近年來指導零基礎本科生參加Spark類全國編程競賽,戰勝了多支985高校的研究生隊,獲得全國總決賽二等獎兩次和三等獎一次;指導本科生完成的雲計算和大數據類作品,參加科技創新競賽,共獲得全國特等獎一次,一等獎兩次;通過“艾叔編程”公眾號,以及在網易雲課堂上開設的一系列免費視頻課程,已幫助8萬多名學習者入門編程,並獲得好評。

相關詞條

熱門詞條

聯絡我們