- Spark內核設計的藝術:架構設計與實現
- 耿嘉安
- 562字
- 2019-01-04 04:03:51
第2章 設計理念與基本架構
“若夫乘天地之正,而御六氣之辯,以游無窮者,彼且惡乎待哉?”
——《莊子·逍遙游》
本章導讀
隨著近十年互聯網的迅猛發展,越來越多的人融入了互聯網——利用搜索引擎查詢詞條或問題;社交圈子從現實搬到了Facebook、Twitter、微信等社交平臺上;女孩子們現在少了逛街,多了在各大電商平臺上的購買;喜歡棋牌的人能夠在對戰平臺上找到世界各地的玩家對弈。在國內隨著網民數量的持續增加,互聯網公司的數據在體量、產生速度、多樣性等方面呈現出巨大的變化。
互聯網產生的數據相比傳統軟件產生的數據而言,有著數據挖掘的巨大潛力。通過對數據的挖掘,可以統計出PV、UV,計算出不同設備與注冊率、促銷與下單率之間的關系,甚至構建熱點分析、人群畫像等算法模型,產生一系列報表、圖形、離線統計、實時計算的產品。互聯網公司如果能有效利用這些數據,將對決策和戰略發展起到至關重要的作用。
在大數據的大勢之下,Hadoop、Spark、Flink、Storm、Dremel、Impala、Tez等一系列大數據技術如雨后春筍般不斷涌現。工程師們正在使用這些工具摸索前行。
上一章介紹了Spark運行環境和源碼閱讀環境的搭建,為讀者學習Spark做好準備。本章首先從Spark產生的背景開始,介紹Spark的主要特點、基本概念、版本變遷,然后簡要說明Spark的主要模塊和編程模型。最后從Spark的設計理念和基本架構入手,使讀者能夠對Spark有一個宏觀的認識,為之后的內容打好基礎。
推薦閱讀
- Spring 5.0 By Example
- Effective C#:改善C#代碼的50個有效方法(原書第3版)
- 控糖控脂健康餐
- JavaScript前端開發與實例教程(微課視頻版)
- GeoServer Beginner's Guide(Second Edition)
- jQuery開發基礎教程
- SAP BusinessObjects Dashboards 4.1 Cookbook
- C++對象模型詳解
- Unity 5 for Android Essentials
- Android程序設計基礎
- 微信小程序全棧開發技術與實戰(微課版)
- Instant PHP Web Scraping
- Odoo 10 Implementation Cookbook
- Machine Learning for OpenCV
- HTML5 Canvas核心技術:圖形、動畫與游戲開發