《圖解Spark:核心技術與案例實戰》介紹及書附資源
本書中所使用到的測試數據、代碼、安裝包及本書附錄放在百度盤提供下載 ,鏈接: https://pan.baidu.com/s/1LP6PKGzIWQzF8e-dTklxkg 提取碼: it28
為什么要寫這本書
在過去的十幾年里,由于計算機普遍應用和互聯網的普及數據呈現了爆發式增長,在這個背景下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章),介紹了Spark的各個組件,包括了Spark SQL的即席查詢、Spark Streaming的實時流處理應用、MLbase/MLlib的機器學習、GraphX的圖處理、SparkR的數學計算和Alluxio的分布式內存文件系統等。
另外本書后面還包括5個附錄:附錄A為編譯安裝Hadoop,附錄B為安裝MySql數據庫,附錄C為編譯安裝Hive,附錄D為安裝ZooKeeper,附錄E為安裝Kafka。由于該書篇幅的限制,這些內容在作者的博客可以下載。
勘誤和支持
由于筆者的水平有限,加之編寫時間跨度較長,同時Spark演進較快,在編寫此書的過程中難免會出現錯誤或者不準確的地方,懇請讀者批評指正。如果本書存有錯誤,或者您有Spark的內容需要探討,可以發送郵件到jan98341@qq.com進行聯系,期待能夠得到大家的反饋。
致謝
感謝中油瑞飛公司,讓我接觸到大數據的世界,并工作的過程中深入了解Spark,感謝吳建平、于鵬、李新宅、祝軍、張文逵、馬君博士、盧文君等領導同事,在本書編寫中提供無私的幫助和寶貴的建議。
感謝京東商城的付彩寶、沈曉凱對我工作和該書的支持,感謝付彩寶在繁忙的工作為本書寫推薦,感謝京東數據挖掘架構師何云龍為我作序,感謝大數據平臺部的周龍波對該書提出了寶貴意見。
感謝EMC常雷博士為本書審稿并寫推薦。
感謝Alluxio CEO的李浩源博士對本書的支持,感謝范斌在非常忙的工作中,抽出時間給Alluxio章節進行了審稿并提供了很好的建議。
感謝電子出版社的安娜編輯,正式由于她耐心和支持才讓本書的得以出版。
感謝我的家人對自己的支持和理解,特別是在寫書過程中老婆又添猴寶寶,讓自己擁有一對健康可愛的兒女,這些給自己莫大的動力,讓自己的努力更加有意義。
謹以此書先給我親愛的家人,你們是我努力的源泉。

浙公網安備 33010602011771號