天天看點

Spark學習之路 (一)Spark初識

《2021年最新版大資料面試題全面開啟更新》

歡迎關注github《大資料成神之路》

一、官網介紹

1、什麼是Spark

官網位址:http://spark.apache.org/

Spark學習之路 (一)Spark初識

Apache Spark™是用于大規模資料處理的統一分析引擎。

從右側最後一條新聞看,Spark也用于AI人工智能

spark是一個實作快速通用的叢集計算平台。它是由加州大學伯克利分校AMP實驗室 開發的通用記憶體并行計算架構,用來建構大型的、低延遲的資料分析應用程式。它擴充了廣泛使用的MapReduce計算

模型。高效的支撐更多計算模式,包括互動式查詢和流處理。spark的一個主要特點是能夠在記憶體中進行計算,及時依賴磁盤進行複雜的運算,Spark依然比MapReduce更加高效。

2、為什麼要學Spark

中間結果輸出:基于MapReduce的計算引擎通常會将中間結果輸出到磁盤上,進行存儲和容錯。出于任務管道承接的,考慮,當一些查詢翻譯到MapReduce任務時,往往會産生多個Stage,而這些串聯的Stage又依賴于底層檔案系統(如HDFS)來存儲每一個Stage的輸出結果。

Spark是MapReduce的替代方案,而且相容HDFS、Hive,可融入Hadoop的生态系統,以彌補MapReduce的不足。

二、Spark的四大特性

1、高效性

運作速度提高100倍。

Apache Spark使用最先進的DAG排程程式,查詢優化程式和實體執行引擎,實作批量和流式資料的高性能。

Spark學習之路 (一)Spark初識

2、易用性

Spark支援Java、Python和Scala的API,還支援超過80種進階算法,使使用者可以快速建構不同的應用。而且Spark支援互動式的Python和Scala的shell,可以非常友善地在這些shell中使用Spark叢集來驗證解決問題的方法。

Spark學習之路 (一)Spark初識

3、通用性

Spark提供了統一的解決方案。Spark可以用于批處理、互動式查詢(Spark SQL)、實時流處理(Spark Streaming)、機器學習(Spark MLlib)和圖計算(GraphX)。這些不同類型的處理都可以在同一個應用中無縫使用。Spark統一的解決方案非常具有吸引力,畢竟任何公司都想用統一的平台去處理遇到的問題,減少開發和維護的人力成本和部署平台的物力成本。

Spark學習之路 (一)Spark初識

4、相容性

Spark可以非常友善地與其他的開源産品進行融合。比如,Spark可以使用Hadoop的YARN和Apache Mesos作為它的資源管理和排程器,器,并且可以處理所有Hadoop支援的資料,包括HDFS、HBase和Cassandra等。這對于已經部署Hadoop叢集的使用者特别重要,因為不需要做任何資料遷移就可以使用Spark的強大處理能力。Spark也可以不依賴于第三方的資源管理和排程器,它實作了Standalone作為其内置的資源管理和排程架構,這樣進一步降低了Spark的使用門檻,使得所有人都可以非常容易地部署和使用Spark。此外,Spark還提供了在EC2上部署Standalone的Spark叢集的工具。

Spark學習之路 (一)Spark初識

Mesos:Spark可以運作在Mesos裡面(Mesos 類似于yarn的一個資源排程架構)

standalone:Spark自己可以給自己配置設定資源(master,worker)

YARN:Spark可以運作在yarn上面

 Kubernetes:Spark接收 Kubernetes的資源排程

三、Spark的組成

Spark組成(BDAS):全稱伯克利資料分析棧,通過大規模內建算法、機器、人之間展現大資料應用的一個平台。也是處理大資料、雲計算、通信的技術解決方案。

它的主要元件有:

SparkCore:将分布式資料抽象為彈性分布式資料集(RDD),實作了應用任務排程、RPC、序列化和壓縮,并為運作在其上的上層元件提供API。

SparkSQL:Spark Sql 是Spark來操作結構化資料的程式包,可以讓我使用SQL語句的方式來查詢資料,Spark支援 多種資料源,包含Hive表,parquest以及JSON等内容。

SparkStreaming: 是Spark提供的實時資料進行流式計算的元件。

MLlib:提供常用機器學習算法的實作庫。

GraphX:提供一個分布式圖計算架構,能高效進行圖計算。

BlinkDB:用于在海量資料上進行互動式SQL的近似查詢引擎。

Tachyon:以記憶體為中心高容錯的的分布式檔案系統。

四、應用場景

繼續閱讀