
Hadoop是一個(gè)由Apache基金會(huì)所開(kāi)發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)。用戶可以在不了解分布式底層細(xì)節(jié)的情況下,開(kāi)發(fā)分布式程序。充分利用集群的威力進(jìn)行高速運(yùn)算和存儲(chǔ)。以下是常見(jiàn)的Hadoop十大應(yīng)用誤解和正解。
1.(誤解)Hadoop什么都可以做
(正解)當(dāng)一個(gè)新技術(shù)出來(lái)時(shí),我們都會(huì)去思考它在各個(gè)不同產(chǎn)業(yè)的應(yīng)用,而對(duì)于平臺(tái)的新技術(shù)來(lái)說(shuō),我們思考之后常會(huì)出現(xiàn)這樣的結(jié)論“這個(gè)好像什么都能做”,然而,更深入的去想,你就會(huì)發(fā)現(xiàn)“好像什么都需要重頭做”。對(duì)于Hadoop,我常喜歡舉Database來(lái)當(dāng)例子。三十年前數(shù)據(jù)庫(kù)(Database)剛出來(lái)時(shí),上面并沒(méi)有什么現(xiàn)成的應(yīng)用方案(Application),所以廠商在銷售的過(guò)程中常需要花很多的時(shí)間去告訴客戶說(shuō),如果今天你有了這個(gè)數(shù)據(jù)庫(kù),你就可以做什么什么的應(yīng)用,而看起來(lái)的確好像數(shù)據(jù)庫(kù)什么應(yīng)用都可以做,因?yàn)楫吘勾蟛糠值膽?yīng)用都會(huì)需要一個(gè)數(shù)據(jù)庫(kù)。只是三十年前所有的應(yīng)用都得重頭打造,我們今天習(xí)以為常的ERP、CRM等應(yīng)用系統(tǒng),當(dāng)時(shí)并不存在的,那都是后來(lái)的事了。今天的Hadoop,正好有點(diǎn)像當(dāng)年database剛出來(lái)的時(shí)候,畢竟今天所有的應(yīng)用或多或少都會(huì)開(kāi)始去處理半結(jié)構(gòu)、非結(jié)構(gòu)化數(shù)據(jù),而這些東西的確都是Hadoop擅長(zhǎng)的,所以平臺(tái)的適用性其實(shí)問(wèn)題不大,重點(diǎn)還是在應(yīng)用要由誰(shuí)來(lái)搭建。
2.(誤解)Hadoop無(wú)法扮演HPC(HighPerformanceComputing)orGridComputing的角色
(正解)由于Hadoop本身是由并行運(yùn)算架構(gòu)(MapReduce)與分布式文件系統(tǒng)(HDFS)所組成,所以我們也看到很多研究機(jī)構(gòu)或教育單位,開(kāi)始嘗試把部分原本執(zhí)行在HPC或Grid上面的任務(wù),部分移植到Hadoop集群上面,利用Hadoop兼顧高速運(yùn)算與海量?jī)?chǔ)存的特性,更簡(jiǎn)易且更有效率地來(lái)執(zhí)行工作。目前國(guó)外高能物理、生命科學(xué)、醫(yī)學(xué)等領(lǐng)域,都已經(jīng)有這樣的應(yīng)用案例,利用Hadoop集群與現(xiàn)有的HPC/Grid搭配、協(xié)同運(yùn)作,來(lái)滿足不同特性的運(yùn)算任務(wù)。
3.(誤解)Hadoop只能做資料分析/挖掘(DataMining/Analyst)
(正解)Hadoop特別適合來(lái)數(shù)據(jù)分析與挖掘的應(yīng)用是毫無(wú)疑問(wèn)的,但數(shù)據(jù)分析與挖掘是難度與深度都較高的一個(gè)應(yīng)用,所需要的時(shí)間的積累也比較長(zhǎng),也因此讓一般企業(yè)對(duì)于導(dǎo)入Hadoop視為畏途,甚至心懷恐懼。然而,從Etu知意圖團(tuán)隊(duì)這一兩年來(lái)輔導(dǎo)客戶的經(jīng)驗(yàn)來(lái)看,我們發(fā)現(xiàn)其實(shí)更多的應(yīng)用,大多都在數(shù)據(jù)處理(DataProcessing)這個(gè)部分,或者更精確地來(lái)說(shuō),Hadoop這個(gè)平臺(tái),特別適合數(shù)據(jù)預(yù)處理(Datapre-Processing)這種應(yīng)用場(chǎng)景。無(wú)論是數(shù)據(jù)倉(cāng)庫(kù)的負(fù)載分流(DWOffload)、數(shù)據(jù)的匯總(DataAggregation)、甚或是我們運(yùn)用協(xié)同過(guò)濾算法(CollaborativeFiltering)針對(duì)線下線上零售業(yè)所做的精準(zhǔn)推薦應(yīng)用(Recommendation),廣義上來(lái)看,都可以說(shuō)是屬于DataProcessing的一環(huán),畢竟,BigData的來(lái)臨,我們看data、運(yùn)用data的角度與方式都必須要有所改變。
BigData強(qiáng)調(diào)的不是對(duì)因果關(guān)系的渴求,取而代之的是關(guān)注于data之間的相關(guān)關(guān)系。
也就是說(shuō),重點(diǎn)在于要知道“是什么”,反而未必需要知道“為什么”。
所以,它要求的是所有data的處理,而不只是隨機(jī)樣本的分析。
最后我們往往會(huì)發(fā)現(xiàn),處理BigData的簡(jiǎn)單算法所得到的來(lái)自于data呈現(xiàn)的事實(shí),往往比分析smalldata的復(fù)雜算法所得到的來(lái)自data背后的原因,對(duì)企業(yè)帶來(lái)的效益更大。
我強(qiáng)烈推薦大家去看BigData:ARevolutionThatWillTransformHowWeLive,Work,andThink這本書(shū),里面把我們面對(duì)BigData該有的觀點(diǎn)與看法,做了非常清楚的陳述,有簡(jiǎn)中的的翻譯本,繁中的好像還沒(méi)看到。
4.(誤解)Hadoop就是BI(BusinessIntelligence)商業(yè)智能
(正解)跟前面一樣,這也是大多數(shù)人最容易誤解的地方,因?yàn)镠adoop特別適合來(lái)做數(shù)據(jù)分析,所以就很直覺(jué)地把它想成“那就是BI嘛”。會(huì)有這種誤解,主要來(lái)自于對(duì)數(shù)據(jù)運(yùn)用的整體架構(gòu)的不清楚。傳統(tǒng)BI是屬于數(shù)據(jù)展現(xiàn)層(DataPresentation),其數(shù)據(jù)的載體(DataStore)是數(shù)據(jù)庫(kù)或數(shù)據(jù)倉(cāng)庫(kù)。對(duì)比來(lái)看,Hadoop就是專注在半結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)載體,跟BI是不同層次的概念。當(dāng)然,Hadoop除了DataStore外,又特別具備運(yùn)算的特性,也因此特別容易帶來(lái)這種觀念上的混淆。至于半結(jié)構(gòu)、非結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)展現(xiàn)層部分,目前本身并不在Hadoop的生態(tài)體系內(nèi),而是由其他現(xiàn)有或新創(chuàng)的公司來(lái)填補(bǔ)這塊空缺,所以,逐漸地我們會(huì)看到越來(lái)越多現(xiàn)有的BItool,開(kāi)始強(qiáng)調(diào)其自身與Hadoop的聯(lián)系性與兼容性,同時(shí),一些新創(chuàng)公司,也發(fā)展出完全不同于現(xiàn)有BITool的基于BigData的數(shù)據(jù)展現(xiàn)層。
5.(誤解)Hadoop就是ETL(Extract,Transform&Load)
(正解)ETL其實(shí)有兩種意涵,它本身是一個(gè)概念,也同時(shí)是一個(gè)產(chǎn)品類別(ProductCategory)的總稱。所以當(dāng)我們聽(tīng)到“某某公司是做ETL產(chǎn)品的”的這種對(duì)話時(shí),其中的ETL,與DB、ApplicationServer等名詞是相同的,都是指向某種類別的IT產(chǎn)品。然而,如果就概念性上來(lái)看,ETL指的其實(shí)是數(shù)據(jù)運(yùn)用的生命周期中的其中一個(gè)過(guò)程,跟我前面提到的數(shù)據(jù)預(yù)處理(Datapre-Processing)是同樣一個(gè)概念,舉凡數(shù)據(jù)清洗(DataCleansing)、數(shù)據(jù)關(guān)聯(lián)、數(shù)據(jù)匯總等,都包含在這個(gè)范疇內(nèi)。所以當(dāng)我們說(shuō)Hadoop特別適合拿來(lái)做ETL時(shí),在概念上,它是正確的,同時(shí)也能很清楚明白地定位出Hadoop在企業(yè)資料運(yùn)用中所扮演的角色。但Hadoop終究不是一個(gè)ETL的產(chǎn)品,反倒是現(xiàn)有的ETL產(chǎn)品,也開(kāi)始跟BI一樣,去發(fā)展它在Hadoop上的可用性、聯(lián)系性與兼容性。Etu團(tuán)隊(duì)之前在幫客戶導(dǎo)入Hadoop做數(shù)據(jù)處理時(shí),常常會(huì)用script語(yǔ)言來(lái)實(shí)現(xiàn)一些應(yīng)用場(chǎng)景,最近一段時(shí)間以來(lái),我們的技術(shù)顧問(wèn)也開(kāi)始運(yùn)用3rd-party的ETLtool來(lái)實(shí)作這一塊,對(duì)企業(yè)客戶來(lái)說(shuō),這是他們較熟悉的工具,也降低了他們進(jìn)入Hadoop的門(mén)檻。
6.(誤解)Hadoop跟傳統(tǒng)storage沒(méi)什么差別,都特別適合來(lái)做資料的備份(DataArchive)
(正解)熟悉storage的人,第一次看到Hadoop時(shí),往往只會(huì)注意到它的分布式文件系統(tǒng)HDFS,然后開(kāi)始拿它來(lái)與現(xiàn)有的storage的功能特性做比較,而忽略掉Hadoop本身并行運(yùn)算的那一塊。這很合理,畢竟MapReduce的概念,在應(yīng)用上是比較抽象且難以捉摸的,相反的,HDFS就是一個(gè)很清楚且具象的概念。Hadoop當(dāng)然可以拿來(lái)做dataarchive的運(yùn)用,但如果你本身的數(shù)據(jù)沒(méi)有被經(jīng)?;蚺紶柲贸鰜?lái)使用的需求(也就是我們所說(shuō)的colddata)的話,Hadoop本身的HDFS作為dataarchive并不會(huì)有特別的優(yōu)勢(shì),反而傳統(tǒng)storage的一些延伸的功能特性,Hadoop本身并不具備。雖然HDFS本身是一個(gè)不錯(cuò)的objectstore,具備有作為scale-outNAS的底層的特性,,但也就僅限于此了,Hadoop本身并沒(méi)有特別為它外加storage本身該具有的功能,畢竟Hadoop當(dāng)初設(shè)計(jì)時(shí),對(duì)數(shù)據(jù)的儲(chǔ)存與運(yùn)用的思考,與storage的應(yīng)用場(chǎng)景是完全不一樣的。Hadoop本身要解決的,反而是現(xiàn)有當(dāng)數(shù)據(jù)被放進(jìn)storage后,需要再被拿出來(lái)處理或運(yùn)算時(shí)所遇到的困難性。也因此,它特別適合那些webclick-stream、CDR(calldetailrecord)、GPSdata,systemlog、andothertime-seriesdata等數(shù)據(jù),因?yàn)檫@些數(shù)據(jù)都具有需要經(jīng)常被拿出來(lái)分析處理的特性。在實(shí)際應(yīng)用中,Hadoop與傳統(tǒng)storage其實(shí)是相輔相成的,辟如說(shuō),我們可能會(huì)在Hadoop上放過(guò)去3到6個(gè)月的數(shù)據(jù),因?yàn)檫@些數(shù)據(jù)的再被利用性較高,而6個(gè)月之后的數(shù)據(jù)就可能會(huì)把它archive在傳統(tǒng)的storage內(nèi),因?yàn)樗辉倮玫某潭鹊秃芏嗔恕?/div>
7.(誤解)Hadoop是一個(gè)搜索引擎(SearchEngine)
(正解)Search的確是Hadoop的一個(gè)重要的應(yīng)用,但Hadoop本身并沒(méi)有內(nèi)含searchengine。實(shí)務(wù)上,我們常會(huì)把HBase的index設(shè)計(jì)運(yùn)用到極致,來(lái)滿足一些特定search或query的應(yīng)用,但如果要滿足全文檢索(full-textsearch)的需求的話,你就必須在Hadoop上建構(gòu)一個(gè)基于Hadoop的搜索引擎。Lucene/Katta及其他的opensource都有相對(duì)應(yīng)的計(jì)劃,如何借助Hadoop的特性,來(lái)實(shí)現(xiàn)一個(gè)強(qiáng)大的分布式搜索引擎,這也是我們一直密切注意、且已放進(jìn)未來(lái)產(chǎn)品的藍(lán)圖之中的重要話題。
8.(誤解)基于Hadoop的推薦系統(tǒng)與傳統(tǒng)的推薦系統(tǒng)并無(wú)不同
(正解)傳統(tǒng)的推薦系統(tǒng)只處理客戶的事務(wù)數(shù)據(jù)(transactiondata),大多用的是數(shù)據(jù)倉(cāng)庫(kù)或商業(yè)智能等解決方案,然而,除了客戶的事務(wù)數(shù)據(jù)之外,是否也有可能針對(duì)客戶交易前的行為進(jìn)行分析、進(jìn)而產(chǎn)生推薦?特別是對(duì)電子商務(wù)網(wǎng)站來(lái)說(shuō),客戶在完成購(gòu)買(mǎi)前的點(diǎn)擊瀏覽、搜尋、及放進(jìn)購(gòu)物車(chē)等行為,都包含了豐富的訊息,可以藉此很容易去導(dǎo)引出客戶想要尋找什么樣的商品,所以,如果在產(chǎn)生推薦過(guò)程中可以把這些訊息都納進(jìn)來(lái),則所產(chǎn)生推薦的精準(zhǔn)度與豐富度必然可以大為提高。這正是新一代的推薦系統(tǒng)會(huì)面臨到的挑戰(zhàn):如何在事務(wù)數(shù)據(jù)(TransactionData)之外,同時(shí)也可以把客戶的互動(dòng)數(shù)據(jù)(InteractionData)含括進(jìn)來(lái)?由于客戶互動(dòng)數(shù)據(jù)的型態(tài)與事務(wù)數(shù)據(jù)間有極大的差異,其數(shù)量級(jí)更是遠(yuǎn)遠(yuǎn)大于事務(wù)數(shù)據(jù)量,運(yùn)算頻率更是有極高的要求,也因此都遠(yuǎn)超過(guò)現(xiàn)有數(shù)據(jù)庫(kù)或數(shù)據(jù)倉(cāng)儲(chǔ)的能力,而這正是Hadoop所擅長(zhǎng),可以輕易拓展傳統(tǒng)機(jī)器學(xué)習(xí)(MachineLearning)算法分析大量數(shù)據(jù)集(LargeDatasets)的能力,并同時(shí)具備橫向擴(kuò)充(Scale-out)的能力,可隨著數(shù)據(jù)集的成長(zhǎng)輕易擴(kuò)充,無(wú)論多大的數(shù)據(jù)都可輕易勝任。
9.(誤解)Hadoop不適合用來(lái)處理小檔案的應(yīng)用
(正解)對(duì)Hadoop稍微有點(diǎn)了解的人,都會(huì)知道HDFS的blocksize的default值為64MB,且不建議往下調(diào),因?yàn)镠DFS當(dāng)初在設(shè)計(jì)時(shí),并不是針對(duì)碎片般的小檔案的處理而來(lái)的。所以當(dāng)我們說(shuō)Hadoop不適合用來(lái)處理小檔案的應(yīng)用時(shí),就技術(shù)上來(lái)說(shuō)是對(duì)的,但在實(shí)際運(yùn)用上,卻可以有不同的做法來(lái)滿足海量小檔案管理的需求。我們?cè)谥袊?guó)曾經(jīng)輔導(dǎo)過(guò)一個(gè)保險(xiǎn)公司,它本身需要處理的小圖檔(20KB~1MB)大概有兩億個(gè)那么多,且每天還持續(xù)在成長(zhǎng),舉凡客戶的簽名、看診紀(jì)錄等,都需要被掃描成圖像文件,并加以儲(chǔ)存,同時(shí),還要偶爾被相對(duì)應(yīng)的應(yīng)用程序來(lái)查詢、調(diào)用。在實(shí)作上,我們把這些小圖檔的binaryfile存進(jìn)去HBase——而不是HDFS——來(lái)管理,所以HDFSblocksize的設(shè)定值大小就不是重點(diǎn),同時(shí),利用HBasecolumn-base高效能與高延展性的特性,可以很輕易的就滿足多人同時(shí)快速在線查詢的要求,而隨著檔案數(shù)量持續(xù)的增加,橫向擴(kuò)充也不再是問(wèn)題。類似的應(yīng)用其實(shí)還不少,譬如說(shuō)銀行票據(jù)文件的管理就是其中一種,也因此,Etu團(tuán)隊(duì)在中國(guó)市場(chǎng),特別針對(duì)此應(yīng)用規(guī)劃了“海量小圖文件管理系統(tǒng)”解決方案,以滿足此類客戶的需求。
10.(誤解)Hadoop不適合用來(lái)做日志管理(LogManagement)的應(yīng)用
(正解)當(dāng)每天的日志量成長(zhǎng)到一定的程度,現(xiàn)有的日志管理工具都會(huì)遇到瓶頸,所以一些國(guó)外的日志管理工具(如Splunk、ArcSight)都已經(jīng)發(fā)布了其HadoopConnector,強(qiáng)調(diào)其與Hadoop的聯(lián)系性與兼容性。所以,如果客戶對(duì)日志管理的需求只是保存日志、并可以隨時(shí)對(duì)日志搜索的話,那Hadoop本身即可以滿足這樣的應(yīng)用,而對(duì)于比較復(fù)雜的日志管理且日志量非常大的需求,客戶也可以從現(xiàn)有的日志管理工具中來(lái)挑選,并與Hadoop來(lái)搭配協(xié)同運(yùn)作。
熱詞搜索:大數(shù)據(jù)
上一篇:快速推進(jìn)DevOps流程時(shí)的安全問(wèn)題探討
下一篇:大數(shù)據(jù)偵查,打擊犯罪的“火眼金睛”
分享到:
收藏
