發表於2024-11-20
本書以Spark 2.0 版本為基礎進行編寫,全麵介紹瞭Spark 核心及其生態圈組件技術。主要內容包括Spark 生態圈、實戰環境搭建、編程模型和內部重要模塊的分析,重點介紹瞭消息通信框架、作業調度、容錯執行、監控管理、存儲管理以及運行框架,同時還介紹瞭Spark 生態圈相關組件,包括瞭Spark SQL 的即席查詢、Spark Streaming 的實時流處理應用、MLbase/MLlib 的機器學習、GraphX 的圖處理、SparkR 的數學計算和Alluxio 的分布式內存文件係統等。本書從Spark 核心技術進行深入分析,重要章節會結閤源代碼解讀其實現原理,圍繞著技術原理介紹瞭相關典型實例,讀者通過這些實例可以更加深入地理解Spark 的運行機製。另外本書還應用瞭大量的圖錶進行說明,通過這種方式讓讀者能夠更加直觀地理解Spark 相關原理。
郭景瞻,現就職京東商城,開源技術愛好者,對Spark等大數據係統有較為深入的研究,對Spark應用開發、運維和測試有較多的經驗,喜歡深入閱讀Spark源代碼,分析其核心原理和運行機製。
Spark的流行不是一個偶然性,它像黏閤劑一樣整閤瞭百花齊放的大數據生態係統的眾多功能。無論你是想學習使用Spark,還是想深入瞭解Spark的內核原理,這本書都是你入門的較好選擇。
-- 常雷博士,Apache HAWQ創始人
Apache Spark作為大數據的後起之秀,以其高效的迭代計算和完備的生態圈成為大數據處理的翹楚。本書從源代碼角度深入淺齣分析瞭Spark的核心原理,同時能夠結閤實例進行講解,讓讀者能夠理論聯係實際,相信本書對於大數據及分布式係統研究,以及Spark係統學習人員是個很好的選擇。
-- 祝軍,中油瑞飛大數據架構師
Spark是一個優秀的大數據計算框架,隨著雲時代的來臨,大數據的存儲、處理、分析、應用逐漸成為各個行業必須要具備的能力。本書以圖形化方式全麵講解瞭Spark生態係統,從入門應用到內核原理解析,並配閤大量的實例,相信對你的學習總結和實際工作都有很好的幫助。
--付彩寶 京東服飾傢居事業部商傢研發部負責人
全書編排閤理,初學者可以根據作者的引導一步步成長為Spark的開發高手,有經驗的開發者也可以通過本書進一步瞭解Spark的內在機製,從而幫助讀者去解決實際工作中的棘手問題,或者深入地優化應用的性能,在當前的市場上能做到如此深入淺齣而又緊跟Spark社區步伐的圖書實在不多,為此特嚮廣大技術愛好力薦此書。
--何雲龍,大規模機器學習專傢 京東大數據架構師
第1章 Spark及其生態圈概述
1.1 Spark簡介
1.1.1 什麼是Spark
1.1.2 Spark與MapReduce比較
1.1.3 Spark的演進路綫圖
1.2 Spark生態係統
1.2.1 Spark Core
1.2.2 Spark Streaming
1.2.3 Spark SQL
1.2.4 BlinkDB
1.2.5 MLBase/MLlib
1.2.6 GraphX
1.2.7 SparkR
1.2.8 Alluxio
1.3 小結
第2章 搭建Spark實戰環境
2.1 基礎環境搭建
2.1.1 搭建集群樣闆機
2.1.2 配置集群環境
2.2 編譯Spark源代碼
2.2.1 配置Spark編譯環境
2.2.2 使用Maven編譯Spark
2.2.3 使用SBT編譯Spark
2.2.4 生成Spark部署包
2.3 搭建Spark運行集群
2.3.1 修改配置文件
2.3.2 啓動Spark
2.3.3 驗證啓動
2.3.4 第一個實例
2.4 搭建Spark實戰開發環境
2.4.1 CentOS中部署IDEA
2.4.2 使用IDEA開發程序
2.4.3 使用IDEA閱讀源代碼
2.5 小結
第二篇 核心篇
第3章 Spark編程模型
3.1 RDD概述
3.1.1 背景
3.1.2 RDD簡介
3.1.3 RDD的類型
3.2 RDD的實現
3.2.1 作業調度
3.2.2 解析器集成
3.2.3 內存管理
3.2.4 檢查點支持
3.2.5 多用戶管理
3.3 編程接口
3.3.1 RDD分區(Partitions)
3.3.2 RDD首選位置(PreferredLocations)
3.3.3 RDD依賴關係(Dependencies)
3.3.4 RDD分區計算(Iterator)
3.3.5 RDD分區函數(Partitioner)
3.4 創建操作
3.4.1 並行化集閤創建操作
3.4.2 外部存儲創建操作
3.5 轉換操作
3.5.1 基礎轉換操作
3.5.2 鍵值轉換操作
3.6 控製操作
3.7 行動操作
3.7.1 集閤標量行動操作
3.7.2 存儲行動操作
3.8 小結
第4章 Spark核心原理
4.1 消息通信原理
4.1.1 Spark消息通信架構
4.1.2 Spark啓動消息通信
4.1.3 Spark運行時消息通信
4.2 作業執行原理
4.2.1 概述
4.2.2 提交作業
4.2.3 劃分調度階段
4.2.4 提交調度階段
4.2.5 提交任務
4.2.6 執行任務
4.2.7 獲取執行結果
4.3 調度算法
4.3.1 應用程序之間
4.3.2 作業及調度階段之間
4.3.3 任務之間
4.4 容錯及HA
4.4.1 Executor異常
4.4.2 Worker異常
4.4.3 Master異常
4.5 監控管理
4.5.1 UI監控
4.5.2 Metrics
4.5.3 REST
4.6 實例演示
4.6.1 計算年降水實例
4.6.2 HA配置實例
4.7 小結
第5章 Spark存儲原理
5.1 存儲分析
5.1.1 整體架構
5.1.2 存儲級彆
5.1.3 RDD存儲調用
5.1.4 讀數據過程
5.1.5 寫數據過程
5.2 Shuffle分析
5.2.1 Shuffle簡介
5.2.2 Shuffle的寫操作
5.2.3 Shuffle的讀操作
5.3 序列化和壓縮
5.3.1 序列化
5.3.2 壓縮
5.4 共享變量
5.4.1 廣播變量
5.4.2 纍加器
5.5 實例演示
5.6 小結
第6章 Spark運行架構
6.1 運行架構總體介紹
6.1.1 總體介紹
6.1.2 重要類介紹
6.2 本地(Local)運行模式
6.2.1 運行模式介紹
6.2.2 實現原理
6.3 僞分布(Local-Cluster)運行模式
6.3.1 運行模式介紹
6.3.2 實現原理
6.4 獨立(Standalone)運行模式
6.4.1 運行模式介紹
6.4.2 實現原理
6.5 YARN運行模式
6.5.1 YARN運行框架
6.5.2 YARN-Client運行模式介紹
6.5.3 YARN-Client 運行模式實現原理
6.5.4 YARN-Cluster運行模式介紹
6.5.5 YARN-Cluster 運行模式實現原理
6.5.6 YARN-Client與YARN-Cluster對比
6.6 Mesos運行模式
6.6.1 Mesos介紹
6.6.2 粗粒度運行模式介紹
6.6.3 粗粒度實現原理
6.6.4 細粒度運行模式介紹
6.6.5 細粒度實現原理
6.6.6 Mesos粗粒度和Mesos細粒度對比
6.7 實例演示
6.7.1 獨立運行模式實例
6.7.2 YARN-Client實例
6.7.3 YARN-Cluster實例
6.8 小結
第三篇 組件篇
第7章 Spark SQL
7.1 Spark SQL簡介
7.1.1 Spark SQL發展曆史
7.1.2 DataFrame/Dataset介紹
7.2 Spark SQL運行原理
7.2.1 通用SQL執行原理
7.2.2 SparkSQL運行架構
7.2.3 SQLContext運行原理分析
7.2.4 HiveContext介紹
7.3 使用Hive-Console
7.3.1 編譯Hive-Console
7.3.2 查看執行計劃
7.3.3 應用Hive-Console
7.4 使用SQLConsole
7.4.1 啓動HDFS和Spark Shell
7.4.2 與RDD交互操作
7.4.3 讀取JSON格式數據
7.4.4 讀取Parquet格式數據
7.4.5 緩存演示
7.4.6 DSL演示
7.5 使用Spark SQL CLI
7.5.1 配置並啓動Spark SQL CLI
7.5.2 實戰Spark SQL CLI
7.6 使用Thrift Server
7.6.1 配置並啓動Thrift Server
7.6.2 基本操作
7.6.3 交易數據實例
7.6.4 使用IDEA開發實例
7.7 實例演示
7.7.1 銷售數據分類實例
7.7.2 網店銷售數據統計
7.8 小結
第8章 Spark Streaming
8.1 Spark Streaming簡介
8.1.1 術語定義
8.1.2 Spark Streaming特點
8.2 Spark Streaming編程模型
8.2.1 DStream的輸入源
8.2.2 DStream的操作
8.3 Spark Streaming運行架構
8.3.1 運行架構
8.3.2 消息通信
8.3.3 Receiver分發
8.3.4 容錯性
8.4 Spark Streaming運行原理
8.4.1 啓動流處理引擎
8.4.2 接收及存儲流數據
8.4.3 數據處理
8.5 實例演示
8.5.1 流數據模擬器
8.5.2 銷售數據統計實例
8.5.3 Spark Streaming+Kafka實例
8.6 小結
第9章 Spark MLlib
9.1 Spark MLlib簡介
9.1.1 Spark MLlib介紹
9.1.2 Spark MLlib數據類型
9.1.3 Spark MLlib基本統計方法
9.1.4 預言模型標記語言
9.2 綫性模型
9.2.1 數學公式
9.2.2 綫性迴歸
9.2.3 綫性支持嚮量機
9.2.4 邏輯迴歸
9.2.5 綫性最小二乘法、Lasso和嶺迴歸
9.2.6 流式綫性迴歸
9.3 決策樹
9.4 決策模型組閤
9.4.1 隨機森林
9.4.2 梯度提升決策樹
9.5 樸素貝葉斯
9.6 協同過濾
9.7 聚類
9.7.1 K-means
9.7.2 高斯混閤
9.7.3 快速迭代聚類
9.7.4 LDA
9.7.5 二分K-means
9.7.6 流式K-means
9.8 降維
9.8.1 奇異值分解降維
9.8.2 主成分分析降維
9.9 特徵提取和變換
9.9.1 詞頻―逆文檔頻率
9.9.2 詞嚮量化工具
9.9.3 標準化
9.9.4 範數化
9.10 頻繁模式挖掘
9.10.1 頻繁模式增長
9.10.2 關聯規則挖掘
9.10.3 PrefixSpan
9.11 實例演示
9.11.1 K-means聚類算法實例
9.11.2 手機短信分類實例
9.12 小結
第10章 Spark GraphX
10.1 GraphX介紹
10.1.1 圖計算
10.1.2 GraphX介紹
10.1.3 發展曆程
10.2 GraphX實現分析
10.2.1 GraphX圖數據模型
10.2.2 GraphX圖數據存儲
10.2.3 GraphX圖切分策略
10.2.4 GraphX圖操作
10.3 實例演示
10.3.1 圖例演示
10.3.2 社區發現演示
10.4 小結
第11章 SparkR
11.1 概述
11.1.1 R語言介紹
11.1.2 SparkR介紹
11.2 SparkR與DataFrame
11.2.1 DataFrames介紹
11.2.2 與DataFrame的相關操作
11.3 編譯安裝SparkR
11.3.1 編譯安裝R語言
11.3.2 安裝SparkR運行環境
11.3.3 安裝SparkR
11.3.4 啓動並驗證安裝
11.4 實例演示
11.5 小結
第12章 Alluxio
12.1 Alluxio簡介
12.1.1 Alluxio介紹
12.1.2 Alluxio係統架構
12.1.3 HDFS與Alluxio
12.2 Alluxio編譯部署
12.2.1 編譯Alluxio
12.2.2 單機部署Alluxio
12.2.3 集群模式部署Alluxio
12.3 Alluxio命令行使用
12.3.1 接口說明
12.3.2 接口操作示例
12.4 實例演示
12.4.1 啓動環境
12.4.2 Alluxio上運行Spark
12.4.3 Alluxio上運行MapReduce
12.5 小結
本書附錄部分請到博文視點網站下載www.broadview.com.cn/30236。
前言:
為什麼要寫這本書
在過去的十幾年裏,隨著計算機的普遍應用和互聯網的普及,使得數據呈現爆發式增長,在這個背景下,Doug Cutting在榖歌的兩篇論文(GFS和MapReduce)的啓發下開發瞭Nutch項目。2006年Hadoop脫離瞭Nutch,成為Apache的頂級項目,帶動瞭大數據發展的新十年。在此期間,大數據開源産品如雨後春筍般層齣不窮,特彆是2009年由加州大學伯剋利分校AMP實驗室開發的Spark,它以內存迭代計算的高效和各組件所形成一站式解決平颱成為這些産品的翹楚。
Spark在2013年6月成為Apache孵化項目,8個月後成為其頂級項目,並於2014年5月發布瞭1.0版本,在2016年7月正式發布瞭2.0版本。在這個過程中,Spark社區不斷壯大,成為瞭最為活躍的大數據社區之一。作為大數據處理的“利器”,Spark在發展過程中不斷地演進,因此各個版本存在較大的差異。市麵上關於Spark的書已經不少,但是這些書所基於的Spark版本稍顯陳舊,另外在介紹Spark的時候,未能把原理、代碼和實例相結閤,於是便有瞭本書,本書能夠在剖析Spark原理的同時結閤實際案例,從而讓讀者能夠更加深入理解和掌握Spark。
在本書中,首先對Spark的生態圈進行瞭介紹,講述瞭Spark的發展曆程,同時也介紹Spark實戰環境的搭建;接下來從Spark的編程模型、作業執行、存儲原理和運行架構等方麵講解瞭Spark內部核心原理;最後對Spark的各組件進行詳細介紹,這些組件包括Spark SQL的即席查詢、Spark Streaming的實時流處理應用、MLbase/MLlib的機器學習、GraphX的圖處理、SparkR的數學計算和Alluxio的分布式內存文件係統等。
讀者對象
(1)大數據愛好者
隨著大數據時代的來臨,無論是傳統行業、IT行業還是互聯網等行業,都將涉及大數據技術,本書能夠幫助這些行業的大數據愛好者瞭解Spark生態圈和發展演進趨勢。通過本書,讀者不僅可以瞭解到Spark的特點和使用場景,而且如果希望繼續深入學習Spark知識,那麼本書也是很好的入門選擇。
(2)Spark開發人員
如果要進行Spark應用的開發,僅僅掌握Spark基本使用方法是不夠的,還需深入瞭解Spark的設計原理、架構和運行機製。本書深入淺齣地講解瞭Spark的編程模型、作業運行機製、存儲原理和運行架構等內容,通過對這些內容的學習,相信讀者可以編寫齣更加高效的應用程序。
(3)Spark運維人員
作為一名Spark運維人員,適當瞭解Spark的設計原理、架構和運行機製對於運維工作十分有幫助。通過對本書的學習,不僅能夠更快地定位並排除故障,而且還能對Spark運行進行調優,讓Spark運行得更加穩定和快速。
(4)數據科學傢和算法研究
隨著大數據技術的發展,實時流計算、機器學習、圖計算等領域成為較熱門的研究方嚮,而Spark有著較為成熟的生態圈,能夠一站式解決類似場景的問題。這些研究人員可以通過本書加深對Spark的原理和應用場景的理解,從而能夠更好地利用Spark各個組件進行數據計算和算法實現。
內容速覽
本書分為三個部分,共計12章。
第一部分為基礎篇(第1~2章),介紹瞭Spark誕生的背景、演進曆程,以及Spark生態圈的組成,並詳細介紹瞭如何搭建Spark實戰環境。通過該環境不僅可以閱讀Spark源代碼,而且可以開發Spark應用程序。
第二部分為核心篇(第3~6章),講解瞭Spark的編程模型、核心原理、存儲原理和運行架構,在核心原理中對Spark通信機製、作業執行原理、調度算法、容錯和監控管理等進行瞭深入分析,在分析原理和代碼的同時結閤實例進行演示。
第三部分為組件篇(第7~12章),介紹瞭Sp
圖解Spark:核心技術與案例實戰 下載 mobi epub pdf txt 電子書 格式
圖解Spark:核心技術與案例實戰 下載 mobi pdf epub txt 電子書 格式 2024
圖解Spark:核心技術與案例實戰 下載 mobi epub pdf 電子書大數據學習好材料,非常好。
評分京東買東西,送貨快,物美價廉,東西很好,關鍵經常活動,在我的帶領下身邊的傢人同事都在京東購物,我們還有強大的購物群,好多媽媽加入瞭買東西隻認京東
評分給彆人買的,不知實用不實用
評分統一評價,書本質量好,京東快遞迅速,這幾年在京東買瞭很多書,學瞭不少知識!書裏用的是scala
評分好好好好好好好好好好好好好好好好好好好好好
評分終於到瞭,6本書,很實惠,趕上雙11。美滋滋。。便宜瞭一般多。
評分學習,學習,,學習,不錯,很好
評分618清空購物車
評分吾消費京東商城數年,深知各産品琳琅滿目。然,唯此寶物與眾皆不同,為齣淤泥之清蓮。使吾為之動容,心馳神往,以至茶飯不思,寢食難安,輾轉反側無法忘懷。於是乎緊衣縮食,湊齊銀兩,傾吾之所有而能買。東哥之熱心、快遞員之殷切,無不讓人感激涕零,可謂迅雷不及掩耳盜鈴兒響叮當仁不讓世界充滿愛。待打開包裹之時,頓時金光四射,屋內升起七彩祥雲,處處皆是祥和之氣。吾驚訝之餘甚是欣喜若狂,嗚呼哀哉!此寶乃是天上物,人間又得幾迴求!遂沐浴更衣,焚香禱告後與人共賞此寶。人皆贊嘆不已,故生此寶物款型及做工,超高性價比之慨,且贊吾獨具慧眼與時尚品位。産品介紹果然句句實言,毫無誇大欺瞞之嫌。實乃大傢之風範,忠義之商賈。
圖解Spark:核心技術與案例實戰 mobi epub pdf txt 電子書 格式下載 2024