數(shù)據(jù)分析不使用Hadoop的五大理由 |
發(fā)布時間: 2012/8/18 19:48:20 |
我一度是Hadoop的忠實擁護者。我喜歡它可以輕而易舉地處理PB級別的數(shù)據(jù),喜歡它可以將運算擴展到數(shù)千個節(jié)點的分布式計算能力,也喜歡它存儲和加載數(shù)據(jù)的靈活性。但在經(jīng)歷過一系列的探索與使用之后,我對Hadoop非常失望。 下面就是我為什么不使用Hadoop做數(shù)據(jù)分析的見解。 Hadoop只是一個框架,而非一種完備的解決方案。人們期望Hadoop可以圓滿地解決大數(shù)據(jù)分析問題,但事實是,對于簡單的問題Hadoop尚可,對于復(fù)雜的問題,依然需要我們自己開發(fā)Map/Reduce代碼。這樣看起來,Hadoop與使用J2EE編程環(huán)境開發(fā)商業(yè)分析解決方案的方式別無二致! Pig和Hive都非常不錯,但卻受到架構(gòu)的局限。Pig和Hive都是設(shè)計精巧的工具,它們可以讓人迅速上手,提高生產(chǎn)力。但它們畢竟只是一種工具,用于將常規(guī)的SQL或文本轉(zhuǎn)化成Hadoop環(huán)境上的Map/Reduce查詢。Pig和Hive受限于Map/Reduce框架的運作性能,尤其是在節(jié)點通信的情況下(如排序和連接),效率更為低下。 沒有軟件成本,部署相對容易,但維護和開發(fā)的代價極大。Hadoop非常受歡迎的理由在于,我們可以自由的下載、安裝并運行。由于它是一個開源項目,所以沒有軟件成本,這使得它成為一種非常吸引人的解決方案,用于替代Oracle和Teradata.但是一旦進入維護和開發(fā)階段,Hadoop的真實成本就會凸顯出來。 擅長大數(shù)據(jù)分析,卻在某些特定領(lǐng)域表現(xiàn)不佳。Hadoop非常擅長大數(shù)據(jù)分析,以及將原始數(shù)據(jù)轉(zhuǎn)化成應(yīng)用(如搜索或文本挖掘)所需的有用數(shù)據(jù)。但如果我們并不很清楚要分析的問題,而是想以模式匹配的方式探索數(shù)據(jù),Hadoop很快會變得一塌糊涂。當然,Hadoop是非常靈活的,但需要你花費較長的時間周期去編寫Map/Reduce代碼。 并行處理的性能極佳,但不排除特例。Hadoop可以將數(shù)千個節(jié)點投入計算,非常具有性能潛力。但并非所有的工作都可以進行并行處理,如用戶交互進行的數(shù)據(jù)分析。如果你設(shè)計的應(yīng)用沒有專門為 Hadoop集群進行優(yōu)化,那么性能并不理想,因為每個Map/Reduce任務(wù)都要等待之前的工作完成。 綜上所述,Hadoop的確是一個令人震驚的計算框架,它可以進行大規(guī)模的數(shù)據(jù)分析。另一方面,這也意味著數(shù)據(jù)分析工作必須建立在大量的編程工作之上。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |