Spark與Hadoop大數據分析

Spark與Hadoop大數據分析

《Spark與Hadoop大數據分析》是2017年機械工業出版社出版的圖書。

基本介紹

  • 中文名:Spark與Hadoop大數據分析
  • 作者:(美)文卡特·安卡姆 
  • 出版社:機械工業出版社
  • 出版時間:2017年
  • ISBN:9787111569411
內容簡介,作品目錄,

內容簡介

本書介紹凶員了ApacheSpark和Hadoop的基礎知識,並深入探討了所有Spark組件:SparkCore、SparkSQL、DataFrame、DataSet、普通流、結構化流、MLlib、Graphx,以及Hadoop的核心組件(HDFS、MapReduce和Yarn)等,此外,也講解了在Spark Hadoop集群中實現的示例。

作品目錄

譯者序
前言
第1章 從巨觀視角看大數據分析1
1.1 大數據分析以及 Hadoop 和 Spark 在其中承擔的角色3
1.1.1 典型大數據分析項目的生命周期4
1.1.2 Hadoop和Spark承擔的角色6
1.2 大數據科學以及Hadoop和Spark在其中承擔的角色 6
1.2.1 從數據分析到數據科學的根本性轉變 6
1.2.2 典型數據科學項目的生命周期 8
1.2.3 Hadoop和Spark 承擔的角色9
1.3 工具和技術9
1.4 實際環境中的用例11
1.5 小結12
第2章 Apache Hadoop和Apache Spark入門13
2.1 Apache Hadoop概述13
2.1.1 Hadoop 分散式檔案系統 14
2.1.2 HDFS 的特性15
2.1.3 MapReduce 16
2.1.4 MapReduce 的特性 17
2.1.5 MapReduce v1與MapReduce v2對比17
2.1.6 YARN 18
2.1.7 Hadoop上的存儲選擇20
2.2 Apache Spark概述24
2.2.1 Spark 的發展歷史 24
2.2.2 Apache Spark 是什麼25
2.2.3 Apache Spark 不是什麼26
2.2.4 MapReduce 的問題 27
2.2.5 Spark 的架構28
2.3 為何把 Hadoop 和 Spark 結合使用31
2.3.1 Hadoop 的特性31
2.3.2 Spark 的特性31
2.4 安裝 Hadoop 和 Spark 集群33
2.5 小結36
第3章 深入剖析Apache Spark37
3.1 啟動 Spark 守護進程 37
3.1.1 使用CDH 38
3.1.2 使用 HDP、MapR 和Spark 預製軟體包38
3.2 學習Spark的核心概念 39
3.2.1 使用 Spark 的方法 39
3.2.2 彈性分散式數據集 41
3.2.3 Spark 環境43
3.2.4 變換和動作44
3.2.5 盼蜜祝RDD 中的並行度46
3.2.6 延遲評估 49
3.2.7 譜系圖50
3.2.8 序列化 51
3.2.9 在 Spark 中利用 Hadoop檔案格式 52
3.2.10 數據的本地性 53
3.2.11 共享變數 54
3.2.12 鍵值對 RDD 55
3.3 Spark 程式的生命周期 55
3.3.1 流水線 57
3.3.2 Spark 執行的摘要 58
3.4 Spark 應用程式59
3.4.1 境棄習Spark Shell 和 Spark 應用程式59
3.4.2 創建 Spark 環境59
3.4.3 SparkConf 59
3.4.4 SparkSubmit 60
3.4.5 Spark 配置項的優先順序61
3.4.6 重要的應用程式配置 61
3.5 持久化與快取 62
3.5.1 存儲級別 62
3.5.2 應該選擇哪個存儲級別63
3.6 Spark 資源管理器:Standalone、YARN和榆罪旋Mesos63
3.6.1 本地和集群模式63
3.6.2 集群資源管理器 64
3.7 小結 67
第4章 利用Spark SQL、Data-Frame和Dataset進行大數據分析69
4.1 Spark SQL 的發展史 70
4.2 Spark SQL 的架構71
4.3 介紹Spark SQL的四個市霉閥驗組件72
4.4 DataFrame 和 Dataset 的演變74
4.4.1 RDD 有什麼問題74
4.4.2 RDD 變換墊府定與 Dataset 和DataFrame 變換75
4.5 為什麼要使用 Dataset 和DataFrame75
4.5.1 最佳化 76
4.5.2 速度 76
4.5.3 自動模式發現 77
4.5.4 多數據源,多種程式語言77
4.5.5 RDD 和其他 API 之間的互操作性77
4.5.6 僅選擇和讀取必要的數據78
4.6 何時使用 RDD、譽乃少滲Dataset 和DataFrame78
4.7 利用 DataFrame 進行分析 78
4.7.1 創建 SparkSession 79
4.7.2 創建 DataFrame 79
4.7.3 把DataFrame轉換為RDD82
4.7.4 常用的 Dataset/DataFrame操作 83
4.7.5 快取數據84
4.7.6 性能最佳化 84
4.8 利用 Dataset API 進行分析85
4.8.1 創建 Dataset 85
4.8.2 把 DataFrame 轉換為Dataset 86
4.8.3 利用數據字典訪問元數據87
4.9 Data Sources API 87
4.9.1 讀和寫函式 88
4.9.2 內置數據源 88
4.9.3 外部數據源 93
4.10 把 Spark SQL 作為分散式 SQL引擎 97
4.10.1 把 Spark SQL 的 Thrift 伺服器用於 JDBC / ODBC訪問97
4.10.2 使用 beeline 客戶端查詢數據 98
4.10.3 使用 spark-sql CLI 從 Hive查詢數據99
4.10.4 與 BI 工具集成100
4.11 Hive on Spark 100
4.12 小結100
第5章 利用Spark Streaming和Structured Streaming進行實時分析102
5.1 實時處理概述 103
5.1.1 Spark Streaming 的優缺點 104
5.1.2 Spark Streaming 的發展史104
5.2 Spark Streaming 的架構 104
5.2.1 Spark Streaming 應用程式流106
5.2.2 無狀態和有狀態的流處理107
5.3 Spark Streaming 的變換和動作 109
5.3.1 union 109
5.3.2 join 109
5.3.3 transform 操作 109
5.3.4 updateStateByKey 109
5.3.5 mapWithState 110
5.3.6 視窗操作 110
5.3.7 輸出操作 111
5.4 輸入數據源和輸出存儲 111
5.4.1 基本數據源 112
5.4.2 高級數據源 112
5.4.3 自定義數據源112
5.4.4 接收器的可靠性 112
5.4.5 輸出存儲113
5.5 使用 Kafka 和 HBase 的 Spark Streaming113
5.5.1 基於接收器的方法 114
5.5.2 直接方法(無接收器)116
5.5.3 與 HBase 集成117
5.6 Spark Streaming 的高級概念118
5.6.1 使用 DataFrame118
5.6.2 MLlib 操作119
5.6.3 快取/持久化 119
5.6.4 Spark Streaming 中的容錯機制 119
5.6.5 Spark Streaming 應用程式的性能調優 121
5.7 監控應用程式 122
5.8 結構化流概述123
5.8.1 結構化流應用程式的工作流123
5.8.2 流式 Dataset 和流式
3.2 學習Spark的核心概念 39
3.2.1 使用 Spark 的方法 39
3.2.2 彈性分散式數據集 41
3.2.3 Spark 環境43
3.2.4 變換和動作44
3.2.5 RDD 中的並行度46
3.2.6 延遲評估 49
3.2.7 譜系圖50
3.2.8 序列化 51
3.2.9 在 Spark 中利用 Hadoop檔案格式 52
3.2.10 數據的本地性 53
3.2.11 共享變數 54
3.2.12 鍵值對 RDD 55
3.3 Spark 程式的生命周期 55
3.3.1 流水線 57
3.3.2 Spark 執行的摘要 58
3.4 Spark 應用程式59
3.4.1 Spark Shell 和 Spark 應用程式59
3.4.2 創建 Spark 環境59
3.4.3 SparkConf 59
3.4.4 SparkSubmit 60
3.4.5 Spark 配置項的優先順序61
3.4.6 重要的應用程式配置 61
3.5 持久化與快取 62
3.5.1 存儲級別 62
3.5.2 應該選擇哪個存儲級別63
3.6 Spark 資源管理器:Standalone、YARN和Mesos63
3.6.1 本地和集群模式63
3.6.2 集群資源管理器 64
3.7 小結 67
第4章 利用Spark SQL、Data-Frame和Dataset進行大數據分析69
4.1 Spark SQL 的發展史 70
4.2 Spark SQL 的架構71
4.3 介紹Spark SQL的四個組件72
4.4 DataFrame 和 Dataset 的演變74
4.4.1 RDD 有什麼問題74
4.4.2 RDD 變換與 Dataset 和DataFrame 變換75
4.5 為什麼要使用 Dataset 和DataFrame75
4.5.1 最佳化 76
4.5.2 速度 76
4.5.3 自動模式發現 77
4.5.4 多數據源,多種程式語言77
4.5.5 RDD 和其他 API 之間的互操作性77
4.5.6 僅選擇和讀取必要的數據78
4.6 何時使用 RDD、Dataset 和DataFrame78
4.7 利用 DataFrame 進行分析 78
4.7.1 創建 SparkSession 79
4.7.2 創建 DataFrame 79
4.7.3 把DataFrame轉換為RDD82
4.7.4 常用的 Dataset/DataFrame操作 83
4.7.5 快取數據84
4.7.6 性能最佳化 84
4.8 利用 Dataset API 進行分析85
4.8.1 創建 Dataset 85
4.8.2 把 DataFrame 轉換為Dataset 86
4.8.3 利用數據字典訪問元數據87
4.9 Data Sources API 87
4.9.1 讀和寫函式 88
4.9.2 內置數據源 88
4.9.3 外部數據源 93
4.10 把 Spark SQL 作為分散式 SQL引擎 97
4.10.1 把 Spark SQL 的 Thrift 伺服器用於 JDBC / ODBC訪問97
4.10.2 使用 beeline 客戶端查詢數據 98
4.10.3 使用 spark-sql CLI 從 Hive查詢數據99
4.10.4 與 BI 工具集成100
4.11 Hive on Spark 100
4.12 小結100
第5章 利用Spark Streaming和Structured Streaming進行實時分析102
5.1 實時處理概述 103
5.1.1 Spark Streaming 的優缺點 104
5.1.2 Spark Streaming 的發展史104
5.2 Spark Streaming 的架構 104
5.2.1 Spark Streaming 應用程式流106
5.2.2 無狀態和有狀態的流處理107
5.3 Spark Streaming 的變換和動作 109
5.3.1 union 109
5.3.2 join 109
5.3.3 transform 操作 109
5.3.4 updateStateByKey 109
5.3.5 mapWithState 110
5.3.6 視窗操作 110
5.3.7 輸出操作 111
5.4 輸入數據源和輸出存儲 111
5.4.1 基本數據源 112
5.4.2 高級數據源 112
5.4.3 自定義數據源112
5.4.4 接收器的可靠性 112
5.4.5 輸出存儲113
5.5 使用 Kafka 和 HBase 的 Spark Streaming113
5.5.1 基於接收器的方法 114
5.5.2 直接方法(無接收器)116
5.5.3 與 HBase 集成117
5.6 Spark Streaming 的高級概念118
5.6.1 使用 DataFrame118
5.6.2 MLlib 操作119
5.6.3 快取/持久化 119
5.6.4 Spark Streaming 中的容錯機制 119
5.6.5 Spark Streaming 應用程式的性能調優 121
5.7 監控應用程式 122
5.8 結構化流概述123
5.8.1 結構化流應用程式的工作流123
5.8.2 流式 Dataset 和流式

相關詞條

熱門詞條

聯絡我們