Spark學習之路 (一)Spark初識


一、官網介紹

1、什么是Spark

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

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調度程序,查詢優化程序和物理執行引擎,實現批量和流式數據的高性能。

2、易用性

Spark支持Java、Python和Scala的API,還支持超過80種高級算法,使用戶可以快速構建不同的應用。而且Spark支持交互式的Python和Scala的shell,可以非常方便地在這些shell中使用Spark集群來驗證解決問題的方法。

3、通用性

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

4、兼容性

Spark可以非常方便地與其他的開源產品進行融合。比如,Spark可以使用Hadoop的YARN和Apache Mesos作為它的資源管理和調度器,器,並且可以處理所有Hadoop支持的數據,包括HDFS、HBase和Cassandra等。這對於已經部署Hadoop集群的用戶特別重要,因為不需要做任何數據遷移就可以使用Spark的強大處理能力。Spark也可以不依賴於第三方的資源管理和調度器,它實現了Standalone作為其內置的資源管理和調度框架,這樣進一步降低了Spark的使用門檻,使得所有人都可以非常容易地部署和使用Spark。此外,Spark還提供了在EC2上部署Standalone的Spark集群的工具。

 

Mesos:Spark可以運行在Mesos里面(Mesos 類似於yarn的一個資源調度框架)

standaloneSpark自己可以給自己分配資源(master,worker)

YARN:Spark可以運行在yarn上面

 KubernetesSpark接收 Kubernetes的資源調度

三、Spark的組成

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

它的主要組件有:

SparkCore:將分布式數據抽象為彈性分布式數據集(RDD),實現了應用任務調度、RPC、序列化和壓縮,並為運行在其上的上層組件提供API。

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

SparkStreaming: 是Spark提供的實時數據進行流式計算的組件。

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

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

BlinkDB:用於在海量數據上進行交互式SQL的近似查詢引擎。

Tachyon:以內存為中心高容錯的的分布式文件系統。

四、應用場景

Yahoo將Spark用在Audience Expansion中的應用,進行點擊預測和即席查詢等
淘寶技術團隊使用了Spark來解決多次迭代的機器學習算法、高計算復雜度的算法等。應用於內容推薦、社區發現等
騰訊大數據精准推薦借助Spark快速迭代的優勢,實現了在“數據實時采集、算法實時訓練、系統實時預測”的全流程實時並行高維算法,最終成功應用於廣點通pCTR投放系統上。
優酷土豆將Spark應用於視頻推薦(圖計算)、廣告業務,主要實現機器學習、圖計算等迭代計算。


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM