Spark作為下一代大數據處理引擎,經過短短幾年的飛躍式發展,正在以燎原之勢席卷業界,現已成為大數據產業中的一股中堅力量。本書著重講解了Spark內核、Spark GraphX、Spark SQL、Spark Streaming和Spark MLlib的核心概念與理論框架,并提供了相應的示例與解析。全書共分8章,其中前4章介紹Spark內核,主要包括Spark簡介、集群部署、工作原理、核心概念與操作等;后4章分別介紹Spark內核上的核心組件,每章系統地介紹Spark的一個組件,并附以相應的案例分析。本書適合作為高等院校計算機相關專業的研究生學習參考資料,也適合大數據技術初學者閱讀,還適合于所有愿意對大數據技術有所了解并想要將大數據技術應用于本職工作的讀者閱讀。
本書適合:
大數據技術初學者閱讀;
作為高等院校計算機相關專業的研究生學習參考資料;
所有愿意對大數據技術有所了解并想要將大數據技術應用于本職工作的讀者閱讀。
隨著電子信息、物聯網等產業的高速發展,智能手機、平板電腦、可穿戴設備與物聯網設備已經滲入到現代化生產與生活的各個方面,每時每刻產生著大量的數據,當今社會已經進入數據爆炸的時代。各領域中的相關數據不僅量大,而且種類繁多、變化速度快、價值密度低。這些日益凸顯的大數據特征在全球范圍內掀起了一場全新的思維、技術與商業變革,無論是產業界還是學術界都在持續加大在大數據技術和相關領域中的投入。中國制造2025戰略規劃和互聯網 概念的提出再次為國內大數據技術的發展注入了強勁的動力,大數據技術已被提升到了前所未有的高度,預示了其未來廣闊的發展空間與應用前景。
在大數據背景下,各領域對數據相關服務的需求不斷提升,迫切需要一種高效通用的大數據處理引擎。相對于第一代大數據生態系統Hadoop中的MapReduce,Spark是一種基于內存的、分布式的大數據處理引擎,其計算速度更快,更加適合處理具有較多迭代次數的問題;Spark中還提供了豐富的API,使其具有極強的易用性;與此同時,Spark實現了一棧式的大數據解決方案,即在Spark內核基礎上提出了Spark GraphX、Spark Streaming、Spark MLlib、Spark SQL等組件,使其不僅能夠對海量數據進行批處理,同時還具備流式計算、海量數據交互式查詢等功能,可以滿足包括教育、電信、醫療、金融、電商、政府、智慧城市和安全等諸多領域中的大數據應用需求。
Spark作為下一代大數據處理引擎,經過短短幾年的飛躍式發展,正在以燎原之勢席卷業界,現已成為大數據產業中的一股中堅力量。
本書主要針對大數據技術初學者,著重講解了Spark內核、Spark GraphX、Spark SQL、Spark Streaming和Spark MLlib的核心概念與理論框架,并提供了相應的示例與解析,以便讀者能夠盡快了解Spark。
全書共分為8章,其中前4章介紹Spark內核,主要包括Spark簡介、集群部署、工作原理、核心概念與操作等;后4章分別介紹Spark內核的核心組件,每章系統地介紹Spark的一個組件,并附以相應的案例分析。
? 第1章:Spark導論。概述Spark的發展背景與起源,對比MapReduce介紹了Spark的特征、原理與應用場景等。
? 第2章:Spark集群部署。該章詳細介紹了Ubuntu下Spark集群的部署過程與注意事項,首先利用VMware Workstation搭建Hadoop分布式集群;然后在集群中安裝Scala;最后搭建Standalone模式的Spark集群。
? 第3章:RDD編程。該章對Spark中的彈性分布式數據集(Resilient Distributed Dataset RDD)這一核心概念進行了詳細介紹,重點講解了與之相關的定義、特征及其操作,并附以相應的示例與解析。
? 第4章:Spark調度管理與應用程序開發。該章闡述了Spark底層的工作機制,介紹了Spark應用程序從產生作業到最終計算任務的整個流程;基于IntelliJ IDEA講解了Spark應用程序的開發過程,并介紹了如何在本地與集群模式下提交運行Spark應用程序。
? 第5章:GraphX。該章介紹了GraphX的基本原理,著重講解了GraphX中彈性分布式屬性圖的定義、表示模型、存儲方式以及其上的豐富操作;以經典的PageRank與三角形計數等圖計算算法為例,講解了GraphX中相關接口的使用方法。
? 第6章:Spark SQL。該章包含了Spark
SQL概述、SQL語句的處理流程、DataFrame數據模型的概念與相關操作等;并將Spark SQL與Hive相結合,給出了一個學生信息管理系統的設計與實現。
? 第7章:Spark Streaming。該章介紹了Spark Streaming的發展與應用場景以及批處理時間間隔、窗口間隔、滑動間隔等核心概念;著重講解了DStream數據模型的概念與相關操作;針對不同應用場景下的流式計算需求,給出了有狀態與無狀態模式下的Spark Streaming應用案例與解析。
? 第8章:Spark MLlib。該章介紹了Spark
MLlib中向量、LabeledPoint、矩陣等核心數據類型的定義與使用;詳細介紹了機器學習中分類、回歸、聚類、協同過濾等經典算法的Spark實現與應用,并附以相應的案例與解析。
由于時間短,加之筆者水平有限,書中難免有疏漏之處,敬請讀者朋友批評指正。
編 者
2017年5月
經管之家(www.jg.com.cn):原人大經濟論壇,于2003年成立,致力于推動經管學科的進步,傳播優秀教育資源,目前已經發展成為國內優秀的經濟、管理、金融、統計類的在線教育和咨詢網站,也是國內活躍和具影響力的經管類網絡社區。經管之家從2006年起在國內開展數據分析培訓,累計培訓學員數萬人。在大數據的趨勢背景下,創新CDA數據分析師品牌,致力于為社會各界數據分析愛好者提供優質、科學、系統的數據分析教育。截至2016年3月已成功舉辦40多期系統培訓,培訓學員達3千余名;CDA認證考試已成功舉辦三屆,報考人數上千人;中國數據分析師俱樂部(CDA CLUB),每周線下免費沙龍活動,已舉力40多期,累積會員2千余名;中國數據分析師行業峰會(CDA Summit),一年兩屆,參會人數皆達2千余名,在大數據領域影響力超前。CDA數據分析師隊伍在業界不斷壯大,對數據分析人才產業起到了巨大的推動作用。