Spark數據分析:基於Python語言

Spark數據分析:基於Python語言

《Spark數據分析:基於Python語言》是2019年機械工業出版社出版的圖書,作者是傑夫瑞·艾文(Jeffrey Aven)。

基本介紹

  • 中文名:Spark數據分析:基於Python語言
  • 作者:傑夫瑞·艾文(Jeffrey Aven)
  • 譯者:王道遠譯
  • 出版社:機械工業出版社
  • 出版時間:2019年4月1日
  • ISBN:9787111622727
內容簡介,圖書目錄,

內容簡介

本書重點關注Spark項目的基本知識,從Spark核心開始,然後拓展到各種Spark擴展、Spark相關項目、Spark子項目,以及Spark所處的豐富的生態系統里各種別的開源技術,比如Hadoop、Kafka、Cassandra等。

圖書目錄

譯者序
前言
引言
第一部分 Spark基礎
第1章 大數據、Hadoop、Spark介紹 2
1.1 大數據、分散式計算、Hadoop簡介 2
1.1.1 大數據與Hadoop簡史 2
1.1.2 Hadoop簡介 3
1.2 Spark簡介 8
1.2.1 Spark背景 9
1.2.2 Spark的用途 9
1.2.3 Spark編程接口 9
1.2.4 Spark程式的提交類型 10
1.2.5 Spark應用程式的輸入/輸出類型 11
1.2.6 Spark中的RDD 11
1.2.7 Spark與Hadoop 11
1.3 Python函式式編程 12
1.3.1 Python函式式編程中的數據結構 12
1.3.2 Python對象序列化 15
1.3.3 Python函式式編程基礎 17
1.4 本章小結 19
第2章 部署Spark 20
2.1 Spark部署模式 20
2.1.1 本地模式 21
2.1.2 Spark獨立集群 21
2.1.3 基於YARN運行Spark 22
2.1.4 基於Mesos運行Spark 22
2.2 準備安裝Spark 23
2.3 獲取Spark 23
2.4 在Linux或Mac OS X上安裝Spark 25
2.5 在Windows上安裝Spark 26
2.6 探索Spark安裝目錄 28
2.7 部署多節點的Spark獨立集群 29
2.8 在雲上部署Spark 30
2.8.1 AWS 30
2.8.2 GCP 32
2.8.3 Databricks 32
2.9 本章小結 34
第3章 理解Spark集群架構 35
3.1 Spark套用中的術語 35
3.1.1 Spark驅動器 36
3.1.2 Spark工作節點與執行器 38
3.1.3 Spark主進程與集群管理器 40
3.2 使用獨立集群的Spark套用 41
3.3 在YARN上運行Spark套用 42
3.3.1 ResourceManager作為集群管理器 42
3.3.2 ApplicationMaster作為Spark主進程 42
3.4 在YARN上運行Spark套用的部署模式 42
3.4.1 客戶端模式 42
3.4.2 集群模式 43
3.4.3 回顧本地模式 45
3.5 本章小結 45
第4章 Spark編程基礎 46
4.1 RDD簡介 46
4.2 載入數據到RDD 48
4.2.1 從檔案創建RDD 48
4.2.2 從文本檔案創建RDD 49
4.2.3 從對象檔案創建RDD 52
4.2.4 從數據源創建RDD 52
4.2.5 從JSON檔案創建RDD 54
4.2.6 通過編程創建RDD 56
4.3 RDD操作 57
4.3.1 RDD核心概念 57
4.3.2 基本的RDD轉化操作 61
4.3.3 基本的RDD行動操作 65
4.3.4 鍵值對RDD的轉化操作 69
4.3.5 MapReduce與單詞計數練習 75
4.3.6 連線操作 78
4.3.7 在Spark中連線數據集 82
4.3.8 集合操作 85
4.3.9 數值型RDD的操作 87
4.4 本章小結 89
第二部分 基礎拓展
第5章 Spark核心API高級編程 92
5.1 Spark中的共享變數 92
5.1.1 廣播變數 92
5.1.2 累加器 96
5.1.3 練習:使用廣播變數和累加器 99
5.2 Spark中的數據分區 100
5.2.1 分區概述 100
5.2.2 掌控分區 101
5.2.3 重分區函式 102
5.2.4 針對分區的API方法 104
5.3 RDD的存儲選項 106
5.3.1 回顧RDD譜系 106
5.3.2 RDD存儲選項 107
5.3.3 RDD快取 109
5.3.4 持久化RDD 109
5.3.5 選擇何時持久化或快取RDD 112
5.3.6 保存RDD檢查點 112
5.3.7 練習:保存RDD檢查點 114
5.4 使用外部程式處理RDD 115
5.5 使用Spark進行數據採樣 117
5.6 理解Spark套用與集群配置 118
5.6.1 Spark環境變數 118
5.6.2 Spark配置屬性 121
5.7 Spark最佳化 124
5.7.1 早過濾,勤過濾 124
5.7.2 最佳化滿足結合律的操作 124
5.7.3 理解函式和閉包的影響 126
5.7.4 收集數據的注意事項 127
5.7.5 使用配置參數調節和最佳化套用 127
5.7.6 避免低效的分區 128
5.7.7 套用性能問題診斷 130
5.8 本章小結 133
第6章 使用Spark進行SQL與NoSQL編程 134
6.1 Spark SQL簡介 134
6.1.1 Hive簡介 134
6.1.2 Spark SQL架構 138
6.1.3 DataFrame入門 141
6.1.4 使用DataFrame 150
6.1.5 DataFrame快取、持久化與重新分區 157
6.1.6 保存DataFrame輸出 158
6.1.7 訪問Spark SQL 161
6.1.8 練習:使用Spark SQL 163
6.2 在Spark中使用NoSQL系統 165
6.2.1 NoSQL簡介 165
6.2.2 在Spark中使用HBase 166
6.2.3 練習:在Spark中使用HBase 169
6.2.4 在Spark中使用Cassandra 170
6.2.5 在Spark中使用DynamoDB 172
6.2.6 其他NoSQL平台 174
6.3 本章小結 174
第7章 使用Spark處理流數據與訊息 175
7.1 Spark Streaming簡介 175
7.1.1 Spark Streaming架構 176
7.1.2 DStream簡介 177
7.1.3 練習:Spark Streaming入門 183
7.1.4 狀態操作 184
7.1.5 滑動視窗操作 185
7.2 結構化流處理 188
7.2.1 結構化流處理數據源 188
7.2.2 結構化流處理的數據輸出池 189
7.2.3 輸出模式 190
7.2.4 結構化流處理操作 190
7.3 在Spark中使用訊息系統 192
7.3.1 Apache Kafka 192
7.3.2 KafkaUtils 195
7.3.3 練習:在Spark中使用Kafka 196
7.3.4 亞馬遜Kinesis 199
7.4 本章小結 203
第8章 Spark數據科學與機器學習簡介 204
8.1 Spark與R語言 204
8.1.1 R語言簡介 204
8.1.2 通過R語言使用Spark 210
8.1.3 練習:在RStudio中使用SparkR 215
8.

相關詞條

熱門詞條

聯絡我們