update:在文章發布后,CSDN收到了國內知名專家關于MapReduce是否會被完全取代的評論(摘選):
MapReduce作為大規模線下批處理和復雜分析計算模型,因其易用性和可編程性,在今后仍然會作為一個重要的計算模式而存在,并且YARN中也仍然是保留了MapReduce作為其批處理計算模式,何來謝幕一說。
筆者非常認同,“謝幕”一詞確實有夸大其詞的說法,隨后去掉文中“謝幕”一說,將標題從“MapReduce謝幕,誰將成為最終的接棒者?”改為“大規模計算框架之戰,誰將成為最終的通用平臺?”,并就這一論點征詢了黃老師的意見,詳情可見CSDN后續文章。在此,CSDN也邀請各位業內從業者各抒己見,談談下一代通用大數據計算框架究竟應該滿足什么需求?或者現有的哪個平臺更有這個資質。如果您有想法分享,請發送郵件至zhonghao@csdn.net。
【編者按】MapReduce,曾Hadoop的殺手級組件,被廣泛運用于海量數據分析場景。然而時過境遷,隨著新型資源管理器YARN的發布,Spark等各種計算框架的應用場景增多,即使在離線數據處理中,MapReduce亦不乏可與其匹敵的對手。同時,限于其批處理設計,在實時計算中,MapReduce更顯狼狽。著眼未來,誰將成為數據處理最終的通用平臺尚不得知,但MapReduce的前景已然堪憂。那么,在MapReduce之后,誰又能成為真正的接棒者,近日Andrew J. Brust在Gigaom進行了簡要分析。
免費訂閱“CSDN大數據”微信公眾號,實時了解最新的大數據進展!
CSDN大數據,專注大數據資訊、技術和經驗的分享和討論,提供Hadoop、Spark、Imapala、Storm、HBase、MongoDB、Solr、機器學習、智能算法等相關大數據觀點,大數據技術,大數據平臺,大數據實踐,大數據產業資訊等服務。
下為譯文
Hadoop的早期應用以及初次被人們注意都離不開MapReduce,當初,MapReduce是令人敬佩的大數據處理算法。然而時至近日,局勢已經發生了明顯的變化。隨著Hadoop 2.0的發布,MapReduce開始為新技術讓步。那么,縱觀全局,誰又會成為下一個接棒者?
大數據歷史中的MapReduce
初期的MapReduce算法基本是根植于Hadoop核心集群管理設施,大數據先鋒們在享受其便利的同時,還必須忍受MapReduce的眾多缺點。起先,MapReduce與Hadoop的深度集成也并無不合理之處,因為MapReduce足夠強大,可以將數據與查詢工作拆分到集群中的多個服務器,并促進機器間的協作,然后得到結果。
然而,這套原理背后存在的問題也顯而易見:需要連續、快速的執行多個短查詢時,MapReduce的批處理機制并不能對任務進行截取,然后并發執行。Hadoop 2.0引進了YARN作為集群管理層的獨立算法,它可以執行MapReduce任務,也可以容納其他的引擎任務。
Spark的出現
在YARN發展的同時,AMPLab開發了一款基于內存的分布式處理引擎――Spark。Spark可以在Hadoop集群中運行,通過使用內存而非硬盤避免了MapReduce的批處理問題。重要的是,經Hartonworks證實,Spark已具備“YARN Ready”特性。
到目前為止,一切進展都很順利,YARN提供了一個通用框架,用于批處理與交互引擎在Hadoop集群中處理數據;而Spark作為一種流計算引擎,可利用內存快速處理某些工作負載。
然而其他的Hadoop組件也不容忽視,像是SQL查詢層Hive或者數據轉換腳本環境Pig,這種依賴于MapRedeuce的組件該如何處理?要如何利用Hadoop的架構轉變來改造這些組件呢?
升級
Hortonworks,牽頭做YARN的公司,在YARN之外,一邊為Hive和Pig服務,一邊負責YARN支持。Hortonworks將Tez的源代碼作為Hive的升級版加進了Apache軟件基金會的源碼中。
在最新的Hive和Hadoop版本中,用戶就可以使用它們的交互性進行迭代查詢工作。與此同時,一個包括Cloudera和MapR的行業協會宣布將改進Hive和Pig,以及其他的Hadoop分布式組件,使它們可以直接執行。
共生的敵人
Spark和Tez,兩個原本沒有什么可比之處的產品,由于受到MapReduce退出及Hadoop主流趨勢的影響,突然變成了競爭對手,消費者們應該警惕他們競爭將帶來的分裂風險。
內存引擎在一些負載工作中確實能很好地工作,但是讓內存引擎來默認執行大部分工作,特別是那些需要PB級(或更高)數據量的工作,似乎很不專業。
面向批處理的MapReduce并非針對企業級設計,YARN、Tez和Spark也都出現了亟待解決的缺陷。諷刺的是,基于相同Hadoop分布式組件上的多種使用方法,卻都不是特別適用于企業。
引擎,合并?
如果YARN的開放式架構能夠支持多個相似而且重疊的解決方案,那么我們將需要一個針對給定查詢的優選程序,讓客戶更簡單的操作。有選擇是件好事,但分裂并復雜的選擇卻并不是件好事。
在20世紀80年代,Unix操作系統出現了嚴重分裂,并因此阻礙了該操作系統的市場擴展。近些年,Hadoop已經成為了一個數據操作系統,希望它不會重蹈Unix覆轍。
原文鏈接: Spark and Tez, out of phase(編譯/仲浩 審校/魏偉)