天天看點

颠覆大資料分析之第二章結束語

颠覆大資料分析之第二章結束語

譯者:黃經業    購書

本章讨論了一些業務場景,以及它們在bdas架構中的實作。同時還介紹了什麼是bdas架構,并重點介紹了spark, shark,以及mesos。spark在那些涉

颠覆大資料分析之第二章結束語

及到優化的場景中非常有用——比如說ooyala希望基于限制條件來動态地選擇最優的cdn,以便提升視訊的使用者體驗。必須注意的是,正如第一章所說的,衆所周知,限制及變量過多的優化問題是很難在hadoop mr中解決的。随機法要更适合hadoop。不過你應當時刻牢記一點,hadoop很難解決優化問題指的是它很難高效地實作規模化。

諸如mpi這些傳統的并行程式設計工具或者spark這類的新範式則非常适用于這類優化的問題,它們能夠高效地進行擴充。另有數位研究人員也同時指出,hadoop并不擅長疊代式機器學習算法,包括發明了spark的伯克利的研究人員,以及graphlab的研究人員,還有加州大學聖巴巴拉分校的mapscale團隊。satish narayana srirama教授在他的論文中就這個問題進行了深入的讨論(srirama等2012)。最主要的原因就是它缺少長期存活的mr以及記憶體程式設計的支援。每一次mr疊代都要啟動新的mr作業,并将資料從hdfs中拷貝到記憶體裡,然後進行疊代,再将資料寫回到hdfs,檢查疊代是否終止…每次疊代都重複這些會帶來顯著的開銷。

mpi提供了一個叫做all-reduce的結構,它使得值可以在叢集節點間累加和廣播。hadoop上唯一的一個解決了一類優化問題的高效實作來自于vowpal wabbit的團隊,他們提供了基于hadoop的all-reduce結構的一個實作(agarwal等2013)。

對于另一類稍微不同的場景shark則非常有用:它可以不用進行預計算就能執行大規模的低延遲即席查詢。ooyala在視訊資料上進行的這類查詢就非常明顯,比如某個國家的移動使用者的熱門内容或者其它的動态趨勢的查詢。

mesos是一個可以管理叢集資源的資料總管,這個叢集可能會運作着多種架構,包括hadoop, spark, 或者storm。在資料倉庫環境中這個非常有用,比如說,hadoop可以用于etl而spark可以用來運作機器學習算法。 

繼續閱讀