Spark快速入門系列(1) | 深入淺出,一文讓你瞭解什麼是Spark

  大家好,我是不溫卜火,是一名計算機學院大數據專業大二的學生,暱稱來源於成語—不溫不火,本意是希望自己性情溫和。作爲一名互聯網行業的小白,博主寫博客一方面是爲了記錄自己的學習過程,另一方面是總結自己所犯的錯誤希望能夠幫助到很多和自己一樣處於起步階段的萌新。但由於水平有限,博客中難免會有一些錯誤出現,有紕漏之處懇請各位大佬不吝賜教!暫時只有csdn這一個平臺,博客主頁:https://buwenbuhuo.blog.csdn.net/

  此篇爲大家帶來的是Spark的一個詳細介紹。
1


2

1. 什麼是Spark

  Spark 是一個快速(基於內存), 通用, 可擴展的集羣計算引擎
  並且 Spark 目前已經成爲 Apache 最活躍的開源項目, 有超過 1000 個活躍的貢獻者.

Spark的發展歷史

  2009年誕生於美國加州大學伯克利分校AMP 實驗室,

  2010年通過BSD許可協議開源發佈,

  2013年捐贈給Apache軟件基金會並切換開源協議到切換許可協議至 Apache2.0,

  2014年2月,Spark 成爲 Apache 的頂級項目

  2014年11月, Spark的母公司Databricks團隊使用Spark刷新數據排序世界記錄

  Spark 成功構建起了一體化、多元化的大數據處理體系。在任何規模的數據計算中, Spark 在性能和擴展性上都更具優勢。

  Hadoop 之父Doug Cutting 指出:Use of MapReduce engine for Big Data projects will decline, replaced by Apache Spark (大數據項目的MapReduce 引擎的使用將下降,由Apache Spark 取代)

  Hadoop 商業發行版本的市場領導者Cloudera 、HortonWorks 、MapR 紛紛轉投Spark,並把Spark 作爲大數據解決方案的首選和核心計算引擎。

  2014 年的如此Benchmark 測試中, Spark 秒殺Hadoop ,在使用十分之一計算資源的情況下,相同數據的排序上, Spark 比Map Reduce 快3 倍! 在沒有官方PB 排序對比的情況下,首次將S park 推到了IPB 數據(十萬億條記錄) 的排序,在使用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 作爲一項服務,在IBMB平臺上提供給客戶。IBM 還將投入超過3500 名研究和開發人員在全球10餘個實驗室開展與Spark 相關的項目,並將爲Spark 開源生態系統無償提供突破性的機器學習技術–IBM SystemML。同時,IBM 還將培養超過100 萬名Spark 數據科學家和數據工程師。

  2016 年,在有“計算界奧運會”之稱的國際著名Sort Benchmark全球數據排序大賽中,由南京大學計算機科學與技術系PASA 大數據實驗室、阿里巴巴和Databricks 公司組成的參賽因隊NADSort,以144美元的成本完成lOOTB 標準數據集的排序處理,創下了每TB 數據排序1.44美元成本的最新世界紀錄,比2014 年奪得冠軍的加州大學聖地亞哥分校TritonSort團隊每TB 數據4.51美元的成本降低了近70%,而這次比賽依舊使用Apache Spark 大數據計算平臺,在大規模並行排序算法以及Spark 系統底層進行了大量的優化,以儘可能提高排序計算性能並降低存儲資源開銷,確保最終贏得比賽。

  在FullStack 理想的指引下,Spark 中的Spark SQL 、SparkStreaming 、MLLib 、GraphX 、R 五大子框架和庫之間可以無縫地共享數據和操作, 這不僅打造了Spark 在當今大數據計算領域其他計算框架都無可匹敵的優勢, 而且使得Spark 正在加速成爲大數據處理中心首選通用計算平臺。

3

2. Spark VS Hadoop

8
  儘管Spark相對於Hadoop而言具有較大優勢,但Spark並不能完全替代Hadoop,Spark主要用於替代Hadoop中的MapReduce計算模型。存儲依然可以使用HDFS,但是中間結果可以存放在內存中;調度可以使用Spark內置的,也可以使用更成熟的調度系統YARN等。
  實際上,Spark已經很好地融入了Hadoop生態圈,併成爲其中的重要一員,它可以藉助於YARN實現資源調度管理,藉助於HDFS實現分佈式存儲。
  此外,Hadoop可以使用廉價的、異構的機器來做分佈式存儲與計算,但是,Spark對硬件的要求稍高一些,對內存與CPU有一定的要求。

3. spark的特點

1. 快速

  與 Hadoop 的 MapReduce 相比, Spark 基於內存的運算是 MapReduce 的 100 倍.基於硬盤的運算也要快 10 倍以上.

  Spark 實現了高效的 DAG 執行引擎, 可以通過基於內存來高效處理數據流

4

2. 易用

  Spark 支持 Scala, Java, Python, R 和 SQL 腳本, 並提供了超過 80 種高性能的算法, 非常容易創建並行 App
  而且 Spark 支持交互式的 Python 和 Scala 的 shell, 這意味着可以非常方便地在這些 shell 中使用 Spark 集羣來驗證解決問題的方法, 而不是像以前一樣 需要打包, 上傳集羣, 驗證等. 這對於原型開發非常重要.

5

3. 通用

  Spark 結合了SQL, Streaming和複雜分析.
  Spark 提供了大量的類庫, 包括 SQL 和 DataFrames, 機器學習(MLlib), 圖計算(GraphicX), 實時流處理(Spark Streaming) .
  可以把這些類庫無縫的柔和在一個 App 中.
  減少了開發和維護的人力成本以及部署平臺的物力成本.

6

4. 可融合性

  Spark 可以非常方便的與其他開源產品進行融合.
  比如, Spark 可以使用 Hadoop 的 YARN 和 Appache Mesos 作爲它的資源管理和調度器, 並且可以處理所有 Hadoop 支持的數據, 包括 HDFS, HBase等.

7

4. Spark 內置模塊介紹

9

4.1 集羣管理器(Cluster Manager)

  Spark 設計爲可以高效地在一個計算節點到數千個計算節點之間伸縮計算。
  爲了實現這樣的要求,同時獲得最大靈活性,Spark 支持在各種集羣管理器(Cluster Manager)上運行,目前 Spark 支持 3 種集羣管理器:

  1. Hadoop YARN(在國內使用最廣泛)
  2. Apache Mesos(國內使用較少, 國外使用較多)
  3. Standalone(Spark 自帶的資源調度器, 需要在集羣中的每臺節點上配置 Spark)

4.2 SparkCore

  實現了 Spark 的基本功能,包含任務調度、內存管理、錯誤恢復、與存儲系統交互等模塊。SparkCore 中還包含了對彈性分佈式數據集(Resilient Distributed DataSet,簡稱RDD)的API定義。

4.3 Spark SQL

  是 Spark 用來操作結構化數據的程序包。通過SparkSql,我們可以使用 SQL或者Apache Hive 版本的 SQL 方言(HQL)來查詢數據。Spark SQL 支持多種數據源,比如 Hive 表、Parquet 以及 JSON 等。

4.4 Spark Streaming

  是 Spark 提供的對實時數據進行流式計算的組件。提供了用來操作數據流的 API,並且與 Spark Core 中的 RDD API 高度對應。

4.5 Spark MLlib

  提供常見的機器學習 (ML) 功能的程序庫。包括分類、迴歸、聚類、協同過濾等,還提供了模型評估、數據導入等額外的支持功能。
10
  Spark 得到了衆多大數據公司的支持,這些公司包括 Hortonworks、IBM、Intel、Cloudera、MapR、Pivotal、百度、阿里、騰訊、京東、攜程、優酷土豆。
  當前百度的 Spark 已應用於大搜索、直達號、百度大數據等業務;
  阿里利用 GraphX 構建了大規模的圖計算和圖挖掘系統,實現了很多生產系統的推薦算法;
  騰訊Spark集羣達到 8000 臺的規模,是當前已知的世界上最大的 Spark 集羣。

  本次的分享就到這裏了,


11

  好書不厭讀百回,熟讀課思子自知。而我想要成爲全場最靚的仔,就必須堅持通過學習來獲取更多知識,用知識改變命運,用博客見證成長,用行動證明我在努力。
  如果我的博客對你有幫助、如果你喜歡我的博客內容,請“點贊” “評論”“收藏”一鍵三連哦!聽說點讚的人運氣不會太差,每一天都會元氣滿滿呦!如果實在要白嫖的話,那祝你開心每一天,歡迎常來我博客看看。
  碼字不易,大家的支持就是我堅持下去的動力。點贊後不要忘了關注我哦!

13
12

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章