注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡數據庫Spark大數據處理技術

Spark大數據處理技術

Spark大數據處理技術

定 價:¥65.00

作 者: 夏俊鸞 程浩 邵賽賽,
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787121250811 出版時間: 2015-01-01 包裝: 平裝
開本: 16開 頁數: 356 字數:  

內容簡介

  本書以Spark 0.9版本為基礎進行編寫,是一本全面介紹Spark及Spark生態(tài)圈相關技術的書籍,是國內首本深入介紹 Spark 原理和架構的技術書籍。主要內容有 Spark 基礎功能介紹及內部重要模塊分析,包括部署模式、調度框架、存儲管理以及應用監(jiān)控;同時也詳細介紹了 Spark 生態(tài)圈中其他的軟件和模塊,包括 SQL 處理引擎 Shark 和 Spark SQL、流式處理引擎 Spark Streaming、圖計算框架 Graphx 以及分布式內存文件系統 Tachyon。本書從概念和原理上對 Spark 核心框架和生態(tài)圈做了詳細的解讀,并對 Spark 的應用現狀和未來發(fā)展做了一定的介紹,旨在為大數據從業(yè)人員和 Spark愛好者提供一個更深入學習的平臺。本書適合任何大數據、Spark 領域的從業(yè)人員閱讀,同時也為架構師、軟件開發(fā)工程師和大數據愛好者展現了一個現代大數據框架的架構原理和實現細節(jié)。相信通過學習本書,讀者能夠熟悉和掌握 Spark 這一當前流行的大數據框架,并將其投入到生產實踐中去。

作者簡介

  夏俊鸞 現任阿里巴巴數據平臺部高級技術專家,Apache Spark項目Committer,曾就職于英特爾亞太研發(fā)中心,微博賬號@Andrew-Xia。劉旭暉 現任蘑菇街數據平臺資深架構師(花名天火),曾就職于英特爾亞太研發(fā)中心大數據軟件部,Spark/Hadoop/Hbase/Phoenix 等眾多大數據相關開源項目的積極貢獻者。樂于分享,著有CSDN博客 blog.csdn.net/colorant。邵賽賽 英特爾亞太研發(fā)有限公司開發(fā)工程師,專注于大數據領域,開源愛好者,現從事Spark相關工作,Spark代碼貢獻者。程浩 英特爾大數據技術團隊軟件工程師,Shark和Spark SQL活躍開發(fā)者,致力于SQL on Big Data的性能調優(yōu)與優(yōu)化。史鳴飛 英特爾亞太研發(fā)有限公司大數據軟件部工程師,專注于大數據領域,主要從事Spark及相關項目的開發(fā)及應用,Spark及Shark代碼貢獻者,現在主要投身于Tachyon項目的開發(fā)。黃潔 目前就職于英特爾亞太研發(fā)中心大數據技術中心,擔任高級軟件工程師,致力于大數據技術的性能優(yōu)化及開發(fā)工作,涉及Hadoop、Spark、HBase等開源項目。在多年的工作過程中,積累了一定的分布式大數據框架性能調優(yōu)經驗,并且是Apache Chukwa項目的PMC成員和Committer。在此之前,畢業(yè)于上海交通大學并獲碩士及學士學位。

圖書目錄

第1章 Spark系統概述 15 1.1 大數據處理框架 15 1.2 Spark大數據處理框架 17 1.2.1 RDD表達能力 17 1.2.2 Spark子系統 18 1.3 小結 21 第2章 Spark RDD及編程接口 23 2.1 Spark程序“Hello World” 23 2.2 Spark RDD 26 2.2.1 RDD分區(qū)(Partition)27 2.2.2 RDD優(yōu)先位置(preferredLocations)28 2.2.3 RDD依賴關系(Dependencies)29 2.2.4 RDD分區(qū)計算(Compute) 34 2.2.5 RDD分區(qū)函數(partitioner)35 2.3 創(chuàng)建操作 39 2.3.1 集合創(chuàng)建操作 39 2.3.2 存儲創(chuàng)建操作 40 2.4 轉換操作 42 2.4.1 RDD 基本轉換操作 42 2.4.2 鍵值RDD 轉換操作 52 2.4.3 再論RDD 依賴關系 59 2.5 控制操作(control operation) 61 2.6 行動操作(action operation) 63 2.6.1 集合標量行動操作 63 2.6.2 存儲行動操作 68 2.7 小結 72 第3 章 Spark 運行模式及原理 74 3.1 Spark 運行模式概述 74 3.1.1 Spark 運行模式列表74 3.1.2 Spark 基本工作流程 75 3.1.3 相關基本類 77 3.2 Local 模式 80 3.2.1 部署及程序運行80 3.2.2 內部實現原理 80 3.3 Standalone 模式 81 3.3.1 部署及程序運行 81 3.3.2 內部實現原理 85 3.4 Local-cluster 模式 86 3.4.1 部署及程序運行 86 3.4.2 內部實現原理 86 3.5 Mesos 模式 87 3.5.1 部署及程序運行 87 3.5.2 內部實現原理 88 3.6 Yarn standalone / Yarn cluster 模式 91 3.6.1 部署及程序運行 91 3.6.2 內部實現原理 93 3.7 Yarn Client 模式 94 3.7.1 部署及程序運行 94 3.7.2 內部實現原理 95 3.8 各種模式的實現細節(jié)比較 96 3.8.1 環(huán)境變量的傳遞 97 3.8.2 Jar 包和各種依賴文件的分發(fā) 99 3.8.3 任務管理和序列化 101 3.8.4 用戶參數配置 102 3.8.5 用戶及權限控制 103 3.9 Spark 1.0 版本之后的變化 104 3.10 小結 105 第4 章 Spark 調度管理原理 106 4.1 Spark 作業(yè)調度管理概述 106 4.2 Spark 調度相關基本概念 107 4.3 作業(yè)調度模塊頂層邏輯概述 108 4.4 作業(yè)調度具體工作流程 112 4.4.1 調度階段的拆分113 4.4.2 調度階段的提交 117 4.4.3 任務集的提交 119 4.4.4 完成狀態(tài)的監(jiān)控 119 4.4.5 任務結果的獲取 121 4.5 任務集管理模塊詳解 122 4.6 調度池和調度模式分析 124 4.7 其他調度相關內容 126 4.7.1 Spark 應用之間的調度關系 126 4.7.2 調度過程中的數據本地性問題 127 4.8 小結 127 第5章 Spark 的存儲管理 128 5.1 存儲管理模塊整體架構 128 5.1.1 通信層架構 129 5.1.2 通信層消息傳遞 132 5.1.3 注冊存儲管理模塊 133 5.1.4 存儲層架構 134 5.1.5 數據塊 (Block) 136 5.2 RDD 持久化 137 5.2.1 RDD 分區(qū)和數據塊的關系 137 5.2.2 內存緩存 138 5.2.3 磁盤緩存 139 5.2.4 持久化選項 141 5.2.5 如何選擇不同的持久化選項 142 5.3 Shuffle 數據持久化 143 5.4 廣播(Broadcast)變量持久化 146 5.5 小結 146 第6 章 Spark 監(jiān)控管理 148 6.1 UI 管理 148 6.1.1 實時UI 管理 149 6.1.2 歷史UI 管理 154 6.2 Metrics 管理 155 6.2.1 Metrics 系統架構 156 6.2.2 Metrics 系統配置 157 6.2.3 輸入源(Metrics Source)介紹 159 6.2.4 輸出方式(Metrics Sink)介紹 160 6.3 小結 162 第7 章 Shark 架構與安裝配置 163 7.1 Shark 架構淺析 164 7.2 Hive/Shark 各功能組件對比分析 165 7.2.1 MetaStore 165 7.2.2 CLI/ Beeline 165 7.2.3 JDBC/ODBC 166 7.2.4 HiveServer/2 與 SharkServer/2 166 7.2.5 Driver 167 7.2.6 SQL Parser 168 7.2.7 查詢優(yōu)化器(Query Optimizer)169 7.2.8 物理計劃與執(zhí)行 169 7.3 Shark 安裝配置與使用 171 7.3.1 安裝前準備工作 171 7.3.2 不同運行模式下的安裝Shark 172 7.3.2.1 單機運行模式 172 7.3.2.2 集群運行模式 172 7.3.2.3 運行在亞馬遜AWS 174 7.4 Shark SQL 命令行工具(CLI)174 7.5 使用Shark Shell 178 7.6 啟動SharkServer 178 7.7 SharkServer2 配置與啟動 179 7.8 緩存數據表 180 7.8.1 數據緩存級別 180 7.8.2 創(chuàng)建不同緩存級別的Shark 數據表 180 7.8.3 指定數據表緩存策略 181 7.8.4 使用Tachyon 182 7.9 常見問題分析 182 7.9.1 OutOfMemory 異常 183 7.9.2 數據處理吞吐量低 183 7.9.3 Shark 查詢比Hive 慢 184 7.10 小結 184 第8 章 Shark 程序開發(fā)與擴展 186 8.1 SQL API 186 8.1.1 JDBC 接口訪問Shark 187 8.1.2 ODBC 接口訪問Shark 188 8.1.3 sql2rdd API 188 8.2 擴展Shark 191 8.2.1 ObjectInspector 介紹 191 8.2.2 自定義函數 195 8.3 SerDe 自定義數據存取格式 218 8.4 StorageHandler 自定義數據存取 219 8.5 小結 221 第9 章 Spark SQL 222 9.1 邏輯架構 222 9.1.1 Catalyst 功能邊界 223 9.1.2 SQL 解析階段 224 9.1.3 邏輯計劃元數據綁定和語義分析階段 224 9.1.4 邏輯計劃優(yōu)化優(yōu)化階段 224 9.1.5 物理計劃生成階段 225 9.1.6 Shark 和Spark SQL 對比 225 9.2 Catalyst 上下文(Context) 226 9.2.1 SQLContext 227 9.2.2 HiveContext 228 9.3 SQL API 228 9.3.1 構建/使用SQLContext 和HiveContext 229 9.3.2 SchemaRDD 229 9.3.3 Row 對象 232 9.3.4 數據類型 233 9.3.5 DSL API 舉例 233 9.3.6 表達式計算 235 9.3.7 Parquet 列式存儲文件 237 9.3.8 代碼演示 238 Spark 與大數據開源技術 11 9.4 Java API 241 9.5 小結 241 第10 章 Spark Streaming 242 流數據處理框架 242 10.1 快速入門 243 10.2 SparkStreaming 基本概念 245 10.2.1 鏈接和初始化 245 10.2.2 時間和窗口概念 246 10.2.3 DStream 原理 248 10.2.4 DStream 輸入源 249 10.2.5 DStream 操作 250 10.2.6 DStream 持久化 253 10.3 性能調優(yōu) 253 10.3.1 運行時間優(yōu)化 253 10.3.2 內存使用優(yōu)化 254 10.4 容錯處理 255 10.4.1 工作節(jié)點失效 255 10.4.2 驅動節(jié)點失效 256 10.5 DStream 作業(yè)的產生和調度 258 10.5.1 作業(yè)產生 258 10.5.2 作業(yè)調度 259 10.5.3 Streaming 作業(yè)與Spark 作業(yè)之間的關系 260 10.6 DStream 與RDD 之間關系 262 10.7 數據接收原理 264 10.8 自定義數據輸入源 268 10.9 自定義監(jiān)控接口(StreamingListener) 270 10.10 Spark Streaming 案例分析 271 10.11 小結 273 第11 章 275 GraphX 計算框架 275 11.1 圖并行計算 275 11.1.1 數據并行與圖并行計算 275 11.1.2 圖并行計算框架簡介 276 11.1.3 GraphX 簡介 280 11.2 Graphx 模型設計280 11.2.1 數據模型 280 11.1.2 圖計算接口 281 11.3 GraphX 模型實現 285 11.3.1 圖的分布式存儲 285 11.3.2 圖操

本目錄推薦

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