- Spark大數據商業實戰三部曲:內核解密|商業案例|性能調優
- 王家林
- 1881字
- 2019-12-12 17:29:50
前言
大數據像當年的石油、人工智能(Artificial Intelligence)像當年的電力一樣,正以前所未有的廣度和深度影響所有的行業,現在及未來公司的核心壁壘是數據,核心競爭力來自基于大數據的人工智能的競爭。Spark是當今大數據領域最活躍、最熱門、最高效的大數據通用計算平臺,2009年誕生于美國加州大學伯克利分校AMP實驗室,2010年正式開源,2013年成為Apache基金項目,2014年成為Apache基金的頂級項目。基于RDD,Spark成功構建起了一體化、多元化的大數據處理體系。
在任何規模的數據計算中,Spark在性能和擴展性上都更具優勢。
(1)Hadoop之父Doug Cutting指出:Use of MapReduce engine for Big Data projects will decline, replaced by Apache Spark(大數據項目的MapReduce引擎的使用將下降,由Apache Spark取代。)
(2)Hadoop商業發行版本的市場領導者Cloudera、HortonWorks、MapR紛紛轉投Spark,并把Spark作為大數據解決方案的首選和核心計算引擎。
2014年的Sort Benchmark測試中,Spark秒殺Hadoop,在使用十分之一計算資源的情況下,相同數據的排序上,Spark比MapReduce快3倍!在沒有官方PB排序對比的情況下,首次將Spark推到了1PB數據(十萬億條記錄)的排序,在使用190個節點的情況下,工作負載在4小時內完成,同樣遠超雅虎之前使用3800臺主機耗時16個小時的記錄。
2015年6月,Spark最大的集群來自騰訊——8000個節點,單個Job最大分別是阿里巴巴和Databricks——1PB,震撼人心!同時,Spark的Contributor比2014年漲了3倍,達到730人;總代碼行數也比2014年漲了2倍多,達到40萬行。IBM于2015年6月承諾大力推進Apache Spark項目,并稱該項目為:以數據為主導的,未來十年最重要的新的開源項目。這一承諾的核心是將Spark嵌入IBM業內領先的分析和商務平臺,并將Spark作為一項服務,在IBMBluemix平臺上提供給客戶。IBM還將投入超過3500名研究和開發人員在全球10余個實驗室開展與Spark相關的項目,并將為Spark開源生態系統無償提供突破性的機器學習技術——IBM SystemML。同時,IBM還將培養超過100萬名Spark數據科學家和數據工程師。
2016年,在有“計算界奧運會”之稱的國際著名Sort Benchmark全球數據排序大賽中,由南京大學計算機科學與技術系PASA大數據實驗室、阿里巴巴和Databricks公司組成的參賽團隊NADSort,以144美元的成本完成100TB標準數據集的排序處理,創下了每TB數據排序1.44美元成本的最新世界紀錄,比2014年奪得冠軍的加州大學圣地亞哥分校TritonSort團隊每TB數據4.51美元的成本降低了近70%,而這次比賽依舊使用Apache Spark大數據計算平臺,在大規模并行排序算法以及Spark系統底層進行了大量的優化,以盡可能提高排序計算性能并降低存儲資源開銷,確保最終贏得比賽。
在Full Stack理想的指引下,Spark中的Spark SQL、SparkStreaming、MLLib、GraphX、R五大子框架和庫之間可以無縫地共享數據和操作,這不僅打造了Spark在當今大數據計算領域其他計算框架都無可匹敵的優勢,而且使得Spark正在加速成為大數據處理中心首選通用計算平臺,而Spark商業案例和性能優化必將成為接下來的重中之重!
本書根據王家林老師親授課程及結合眾多大數據項目經驗編寫而成,其中王家林、段智華編寫了本書近90%的內容,具體編寫章節如下:
第3章 Spark的靈魂:RDD和DataSet;
第4章 Spark Driver啟動內幕剖析;
第5章 Spark集群啟動原理和源碼詳解;
第6章 Spark Application提交給集群的原理和源碼詳解;
第7章 Shuffle原理和源碼詳解;
第8章 Job工作原理和源碼詳解;
第9章 Spark中Cache和checkpoint原理和源碼詳解;
第10章 Spark中Broadcast和Accumulator原理和源碼詳解;
第11章 Spark與大數據其他經典組件整合原理與實戰;
第12章 Spark商業案例之大數據電影點評系統應用案例;
第13章 Spark 2.2實戰之Dataset開發實戰企業人員管理系統應用案例;
第14章 Spark商業案例之電商交互式分析系統應用案例;
第15章 Spark商業案例之NBA籃球運動員大數據分析系統應用案例;
第16章 電商廣告點擊大數據實時流處理系統案例;
第17章 Spark在通信運營商生產環境中的應用案例;
第18章 使用Spark GraphX實現婚戀社交網絡多維度分析案例;
第23章 Spark集群中Mapper端、Reducer端內存調優;
第24章 使用Broadcast實現Mapper端Shuffle聚合功能的原理和調優實戰;
第25章 使用Accumulator高效地實現分布式集群全局計數器的原理和調優案例;
第27章 Spark五大子框架調優最佳實踐;
第28章 Spark 2.2.0新一代鎢絲計劃優化引擎;
第30章 Spark性能調優之數據傾斜調優一站式解決方案原理與實戰;
第31章 Spark大數據性能調優實戰專業之路。
其中,段智華根據自身多年的大數據工作經驗對本書的案例等部分進行了擴展。
除上述章節外,剩余內容由夏陽、鄭采翎、閆恒偉三位作者根據王家林老師的大數據授課內容而完成。
在閱讀本書的過程中,如發現任何問題或有任何疑問,可以加入本書的閱讀群(QQ:418110145)討論,會有專人答疑。同時,該群也會提供本書所用案例源碼及本書的配套學習視頻。
如果讀者想要了解或者學習更多大數據相關技術,可以關注DT大數據夢工廠微信公眾號DT_Spark,也可以通過YY客戶端登錄68917580永久頻道直接體驗。
王家林老師的新浪微博是http://weibo.com/ilovepains/歡迎大家在微博上與作者進行互動。
由于時間倉促,書中難免存在不妥之處,請讀者諒解,并提出寶貴意見。
王家林2017年中秋之夜于美國硅谷
- Instant Raspberry Pi Gaming
- SCRATCH與機器人
- Julia 1.0 Programming
- 自動檢測與傳感技術
- Expert AWS Development
- 大數據挑戰與NoSQL數據庫技術
- 運動控制器與交流伺服系統的調試和應用
- 可編程序控制器應用實訓(三菱機型)
- JSP從入門到精通
- Linux嵌入式系統開發
- Applied Data Visualization with R and ggplot2
- 云計算和大數據的應用
- MPC5554/5553微處理器揭秘
- 手把手教你學Photoshop CS3
- Embedded Linux Development using Yocto Projects(Second Edition)