誕生於柏克萊大學AMPLab 的Spark 是當今大數據領域最活躍、最熱門、效率最高的大數據通用計算平台。以RDD 為核心,Spark 成功地建置起了一體化、多元化為基礎的大數據處理系統。在任何規模的資料計算中,Spark 在效能和擴充性上都更具優勢。攜帶先天學術基因優勢的Spark在整個發展過程中都深深地具備了學術研究的基因,在「One Stack to rule them all」思想的領導下,Spark 成功地使用Spark SQL、Spark Streaming、MLlib、GraphX 近乎完美地解決了大數據中的Batch Processing、Streaming Processing、Ad-hoc Query 等三大核心問題。在「Full Stack」理想的指引下,Spark 中的Spark SQL、Spark Streaming、MLLib、GraphX 四大子架構和函數庫之間可以無縫地共用資料和操作,這不僅打造了Spark 在當今大數據計算領域其他計算架構都無可匹敵的優勢,而且使得Spark 正在加速成為大數據處理中心首選計算平台。
為什麼寫作本書
Spark + Hadoop = A Winning Combination!
Hadoop 和Spark 聯合組成了當今的大數據世界,而這個世界正在悄悄發生變化,這種變化是Hadoop 負責資料儲存和資源管理,Spark 負責一體化、多元化的不同規模的資料計算,而計算正是大數據的精髓之所在!
在Spark 官方公佈的世界上明確在實際生產環境中使用Spark 的公司可見https://cwiki. apache.org/confluence/display/SPARK/Powered +By+Spark。
在實際的生產環境中,世界上已經出現很多一千個以上節點的Spark 叢集,以eBay 為例,eBay 的Spark 叢集節點已經超過2000 個,Yahoo! 等公司也在大規模地使用Spark,擁有巨大使用者的中國大家的淘寶、騰訊、百度、網易、京東、華為、大眾點評、優酷土豆等也在生產環境下深度使用Spark。2014 Spark Summit 上的資訊顯示,Spark 已經獲得世界20 家頂級公司的支援,這些公司中包含Intel、IBM 等,同時更重要的是,最大的4 個Hadoop 發行商都提供了對Spark 非常強有力的支援。
不得不提的是,DataBricks 和AWS 聯合所做的Sort Benchmark 測試表明,Spark 在只用Hadoop 1/10 的運算資源且以磁碟計算為基礎的情況下卻只用了1/3 的運算時間,徹底顛覆了Hadoop 保持的排序記錄,成為開放原始碼軟體領域在TB 和PB 數量級別排序最快的計算引擎。這表明在任意大小的資料規模下,Spark 在效能和擴充性上都更具優勢。
與Spark 火爆程度形成鮮明比較的是Spark 人才的嚴重缺乏,這一情況在華語地區尤其嚴重,這種人才的缺乏一方面是由於Spark 技術在2013、2014 年才開始流行,另一方面是由於缺乏Spark 相關的中文資料和系統化的教育訓練。
本書以最新的Spark 1.1 版本撰寫,本著從企業級實際開發需要的Spark 技能的角度出發,全面說明了Spark 叢集的動手建置、Spark 架構、核心的深入解析、Spark 四大子架構的細緻剖析和實戰、Tachyon 檔案系統揭秘、Spark 多語言程式設計、SparkR、Spark 效能最佳化和最佳做法、Spark 核心原始程式解析等內容。考慮到Spark 架構和開發語言使用Scala,而很多朋友可能對Scala 不是太熟悉,所以在本書的附錄中加入了動手實戰Scala 三部曲來幫助沒有使用過Scala 語言的學習者快速掌握Scala 程式設計。對一名大數據同好來說,本書內容可以幫助他們整合式地完成從零起步到進行Spark 企業級開發所需要的全部核心內容和實戰方法。