學習Big Data一定要知道 Apache Spark 

by TibaMe小編

大數據當紅,你不能不了解! 然而,所謂的大數據是指無法在一定時間內用常規軟體工具對其內容進行抓取、管理和處理的數據集合,也因為這個特性,對大數據的實時分析(real-time analysis)已經成為一個非常重要迫切需求。目前針對大數據的實時分析工具,目前最受矚目的就是Spark。

目前Spark已經發展成包含眾多子項的的平台,而柏克萊加州大學(UC. Berkerly) AMPLab基於Spark架構,發展出的數據分析棧,就叫作Berkeley Data Analytics Stack (簡稱BDAS) ,它是一個開源系統棧,可整合AMPLab所建構的軟體,用來讓大數據更易被理解。

1.認識BDSA

BDAS的組成如下圖:

上圖淺藍色圖示的部分,就是BDAS發展的軟體項目,裡面大部分都是開源社群來維護,有些則是有Apache基金會來贊助。

其中大多採用的In-Memory技術來加速,當然其中也有很多優化演算法在裡面,且BDAS除了自己本身發展的很多項目外,也與Hadoop中部分元件相容,比如說 Yarn和HDFS。

2.BDSA下必備工具

Yarn

Yarn是 Hadoop的資源管理框架,它將MapReduce結構從1.0抽離出來,變成一個”Framework”,然後將JobTracker與TaskTracker中的資源管理部份抽離出來,發展成Yarn,藉此控管整個資源的分配。透過虛擬容器的技術來同時運行多個運算Framework,你可以把它想成在一台機器裡面又多開好幾個小虛擬機,但技術上其實是由許多個JVM或Linux container,來達到運算資源獨立(CPU Memory)。

Yarn架構圖

簡單來說Yarn就像是一個管理員,同時管理好幾座場地,當有需求(送出Hadoop task )時,承租人(JobTracker) 會向管理員提出資源申請,管理員就會開始從不同場地中劃分幾個房間出來,以供JobTracker指派各個TaskTracker工人到各個場地去做事情 。

所以說,原來的Client Server架構可以不用改變,只是原本獨佔的機器資源,變成由管理員(Yarn)進行資源的管理。

同樣的道理,Spark本身也可以是Yarn的一個Framework,能夠透過Yarn去分配資源來執行

HDFS

與原始架構差不多,由NameNode與DataNode組成,NameNode負責儲存各檔案程式碼區塊(Block)的Block,與Block置放的問題

DataNode則負責實際儲存資料與提取資料

所有的檔案存取請求,都是透過HDFS API向NameNode提出,NameNode會負責導向該檔案程式碼區塊(Block)所在的位址,而HDFS其實就像是網路上的芳鄰(或Samba)

任何電腦都可以存取,當然也有”掛載”到某個資料夾的功能,使HDFS操作起來跟一般檔案系統差不多

3.選用Spark的理由

Spark 也是BDAS中的一個項目,但知名度與名氣非常響亮,也被許多人採用。

它是一個結合In-memory與RDD技術的分散式資料操作與運算框架

Spark數據處理速度秒殺MapReduce因為其處理數據的方式不一樣,會比MapReduce快上很多。MapReduce是分步對數據進行處理的從集群中讀取數據,進行一次處理,將結果寫到集群,從集群中讀取更新後的數據,進行下一次的處理,將結果寫到集群,然後循環。

反觀Spark,它會在內存中以接近實時的時間完成所有的數據分析:“從集群中讀取數據,完成所有必須的分析處理,將結果寫回集群完成,因此,Spark的處理速度比MapReduce快近10倍,內存中的數據分析速度則快近100倍。

4.那麼Spark在大數據的應用可能可以在哪些領域呢?

1.在遊戲領域,從實時的潛在遊戲事件中迅速地挖掘出有價值的模式可以創造出巨大的商業利益,比如用戶返回率情況、如何制定廣告以及如何自動調整遊戲的複雜度等。

2.在電子商務領域中,實質交易數據將被傳遞到k均值算法或者ALS等協同過濾演算法中。這些運算結果將和顧客評論等非結構化數據結合起來,用於不斷改進交易模式以適應新趨勢的發展。

3.在金融或證券領域中,Spark技術可以被應用到信用詐騙和風險管控系統中。通過獲取大量的歷史數據和其他一些外部數據以及一些連接/請求信息,可以取得非常好的模型結果。

總而言之,Spark能把大規模數據的流程簡單處理化。不管是處理結構化還是非結構化數據,Spark將許多複雜的功能(比如機器學習演算法和圖算法)無縫接地結合起來。想要更進一步瞭解Spark如何從大量的資料量都可以進行大數據分析,您可以參考由TibaMe的專業師資為您規劃的Spark課程。

Spark大數據分析架構實作
分享這篇文章:
0 留言
0

您也許會喜歡

發佈留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料