Spark大數據分析

Spark大數據分析

《Spark大數據分析》是2017年機械工業出版社出版的圖書,作者是穆罕默德·古勒。

基本介紹

  • 中文名:Spark大數據分析
  • 作者:穆罕默德·古勒
  • 出版社:機械工業出版社
  • 出版時間:2017年5月
  • 開本:16 開
  • ISBN:9787111565611
內容簡介,圖書目錄,

內容簡介

本書是關於大數據和Spark的一個簡明手冊。它將助你學習如何用Spark來完成很多大數據分析任務,其中覆蓋了高效利用Spark所需要知道的重要主題:如何使用SparkShell進行互動式數據分析、如何編寫Spark套用、如何在Spark中對大規模數據進行互動分析、如何使用SparkStreaming處理高速數據流、如何使用Spark進行機器學習、如何使用Spark進行圖處理、如何使用集群管理員部署Spark、如何監控Spark套用等。本書還對其他配合Spark一起使用的大數據技術進行了介紹,包括HDFS、Avro、Parquet、Kafka、Cassandra、HBase、Mesos等。本書也對機器學習和圖的概念進行了介紹。

圖書目錄

Contents 目  錄
譯者序
前言
致謝
第1章 大數據技術一覽1
1.1 Hadoop2
1.1.1 HDFS3
1.1.2 MapReduce5
1.1.3 Hive5
1.2 數據序列化6
1.2.1 Avro6
1.2.2 Thrift6
1.2.3 Protocol Buffers7
1.2.4 SequenceFile7
1.3 列存儲7
1.3.1 RCFile8
1.3.2 ORC8
1.3.3 Parquet9
1.4 訊息系統9
1.4.1 Kafka10
1.4.2 ZeroMQ11
1.5 NoSQL12
1.5.1 Cassandra13
1.5.2 HBase13
1.6 分散式SQL查詢引擎14
1.6.1 Impala14
1.6.2 Presto14
1.6.3 Apache Drill15
1.7 總結15
第2章 Scala編程16
2.1 函式式編程16
2.1.1 函式17
2.1.2 不可變數據結構18
2.1.3 一切皆表達式19
2.2 Scala基礎19
2.2.1 起步20
2.2.2 基礎類型20
2.2.3 變數21
2.2.4 函式21
2.2.5 類24
2.2.6 單例24
2.2.7 樣本類25
2.2.8 模式匹配25
2.2.9 操作符26
2.2.10 特質26
2.2.11 元組27
2.2.12 Option類型27
2.2.13 集合28
2.3 一個單獨的Scala應用程式32
2.4 總結32
第3章 Spark Core33
3.1 概述33
3.1.1 主要特點33
3.1.2 理想的應用程式36
3.2 總體架構37
3.2.1 worker37
3.2.2 集群管理員38
3.2.3 驅動程式38
3.2.4 執行者38
3.2.5 任務38
3.3 套用運行38
3.3.1 術語38
3.3.2 套用運行過程39
3.4 數據源39
3.5 API40
3.5.1 SparkContext40
3.5.2 RDD41
3.5.3 創建RDD42
3.5.4 RDD操作43
3.5.5 保存RDD52
3.6 惰性操作53
3.7 快取54
3.7.1 RDD的快取方法55
3.7.2 RDD快取是可容錯的56
3.7.3 快取記憶體管理56
3.8 Spark作業56
3.9 共享變數57
3.9.1 廣播變數57
3.9.2 累加器58
3.10 總結59
第4章 使用Spark shell進行互動式數據分析60
4.1 起步60
4.1.1 下載60
4.1.2 解壓61
4.1.3 運行61
4.2 REPL命令62
4.3 把Spark shell當成Scala shell使用62
4.4 數值分析63
4.5 日誌分析64
4.6 總結68
第5章 編寫Spark套用69
5.1 Spark中的Hello World69
5.2 編譯並運行套用72
5.2.1 sbt72
5.2.2 編譯代碼73
5.2.3 運行套用73
5.3 監控套用75
5.4 調試套用75
5.5 總結76
第6章 Spark Streaming77
6.1 Spark Streaming簡介78
6.1.1 Spark Streaming是一個Spark類庫78
6.1.2 總體架構78
6.1.3 數據流來源78
6.1.4 接收器79
6.1.5 目的地79
6.2 API79
6.2.1 StreamingContext80
6.2.2 Spark Streaming套用基本結構82
6.2.3 DStream82
6.2.4 創建DStream83
6.2.5 處理數據流84
6.2.6 輸出操作88
6.2.7 視窗操作91
6.3 一個完整的Spark Streaming套用93
6.4 總結98
第7章 Spark SQL99
7.1 Spark SQL簡介99
7.1.1 和其他Spark庫集成100
7.1.2 可用性100
7.1.3 數據源100
7.1.4 數據處理接口100
7.1.5 與Hive的互操作性101
7.2 性能101
7.2.1 磁碟I/O101
7.2.2 分區102
7.2.3 列存儲102
7.2.4 記憶體中的列式快取102
7.2.5 行跳過102
7.2.6 謂詞下推102
7.2.7 查詢最佳化103
7.3 套用104
7.3.1 ETL104
7.3.2 數據可視化104
7.3.3 分散式JDBC/ODBC SQL查詢引擎105
7.3.4 數據倉庫105
7.4 API106
7.4.1 關鍵抽象106
7.4.2 創建DataFrame109
7.4.3 在程式中使用SQL/HiveQL處理數據114
7.4.4 使用DataFrame API處理數據115
7.4.5 保存DataFrame131
7.5 內置函式133
7.5.1 聚合操作134
7.5.2 集合操作134
7.5.3 日期/時間134
7.5.4 數學135
7.5.5 字元串135
7.5.6 視窗135
7.6 UDF和UDAF135
7.7 一個互動式分析的例子135
7.8 使用Spark SQL JDBC伺服器進行互動式分析142
7.9 總結145
第8章 使用Spark進行機器學習146
8.1 機器學習簡介146
8.1.1 特徵147
8.1.2 標籤147
8.1.3 模型148
8.1.4 訓練數據148
8.1.5 測試數據149
8.1.6 機器學習套用149
8.1.7 機器學習算法151
8.1.8 超參數160
8.1.9 模型評價160
8.1.10 機器學習的主要步驟162
8.2 Spark機器學習庫162
8.3 MLlib概覽163
8.3.1 與其他Spark庫集成163
8.3.2 統計工具163
8.3.3 機器學習算法163
8.4 MLlib API164
8.4.1 數據類型164
8.4.2 算法和模型166
8.4.3 模型評價181
8.5 MLlib示例套用184
8.5.1 數據集184
8.5.2 目標184
8.5.3 代碼184
8.6 Spark ML186
8.6.1 ML數據集187
8.6.2 Transformer187
8.6.3 Estimator187
8.6.4 Pipeline188
8.6.5 PipelineModel188
8.6.6 Evaluator188
8.6.7 格線搜尋189
8.6.8 CrossValidator189
8.7 Spark ML示例套用189
8.7.1 數據集190
8.7.2 目標190
8.7.3 代碼190
8.8 總結195
第9章 使用Spark進行圖處理196
9.1 圖簡介196
9.1.1 無向圖197
9.1.2 有向圖197
9.1.3 有向多邊圖197
9.1.4 屬性圖197
9.2 GraphX簡介198
9.3 GraphX API199
9.3.1 數據抽象199
9.3.2 創建圖200
9.3.3 圖屬性202
9.3.4 圖操作符204
9.4 總結217
第10章 集群管理員218

相關詞條

熱門詞條

聯絡我們