如今Apache Hadoop已成為大數(shù)據(jù)行業(yè)發(fā)展背后的驅(qū)動(dòng)力。Hive和Pig等技術(shù)也經(jīng)常被提到,但是他們都有什么功能,為什么會(huì)需要奇怪的名字(如Oozie,ZooKeeper、Flume)。
Hadoop帶來(lái)了廉價(jià)的處理大數(shù)據(jù)(大數(shù)據(jù)的數(shù)據(jù)容量通常是10-100GB或更多,同時(shí)數(shù)據(jù)種類多種多樣,包括結(jié)構(gòu)化、非結(jié)構(gòu)化等)的能力。但這與之前有什么不同?
現(xiàn)今企業(yè)數(shù)據(jù)倉(cāng)庫(kù)和關(guān)系型數(shù)據(jù)庫(kù)擅長(zhǎng)處理結(jié)構(gòu)化數(shù)據(jù),并且可以存儲(chǔ)大量的數(shù)據(jù)。但成本上有些昂貴。這種對(duì)數(shù)據(jù)的要求限制了可處理的數(shù)據(jù)種類,同時(shí)這種慣性所帶的缺點(diǎn)還影響到數(shù)據(jù)倉(cāng)庫(kù)在面對(duì)海量異構(gòu)數(shù)據(jù)時(shí)對(duì)于敏捷的探索。這通常意味著有價(jià)值的數(shù)據(jù)源在組織內(nèi)從未被挖掘。這就是Hadoop與傳統(tǒng)數(shù)據(jù)處理方式最大的不同。
本文就重點(diǎn)探討了Hadoop系統(tǒng)的組成部分,并解釋各個(gè)組成部分的功能。
MapReduce——Hadoop的核心
Google的網(wǎng)絡(luò)搜索引擎在得益于算法發(fā)揮作用的同時(shí),MapReduce在后臺(tái)發(fā)揮了極大的作用。MapReduce框架成為當(dāng)今大數(shù)據(jù)處理背后的最具影響力的“發(fā)動(dòng)機(jī)”。除了Hadoop,你還會(huì)在MapReduce上發(fā)現(xiàn)MPP(Sybase IQ推出了列示數(shù)據(jù)庫(kù))和NoSQL(如Vertica和MongoDB)。
MapReduce的重要?jiǎng)?chuàng)新是當(dāng)處理一個(gè)大數(shù)據(jù)集查詢時(shí)會(huì)將其任務(wù)分解并在運(yùn)行的多個(gè)節(jié)點(diǎn)中處理。當(dāng)數(shù)據(jù)量很大時(shí)就無(wú)法在一臺(tái)服務(wù)器上解決問題,此時(shí)分布式計(jì)算優(yōu)勢(shì)就體現(xiàn)出來(lái)。將這種技術(shù)與Linux服務(wù)器結(jié)合可獲得性價(jià)比極高的替代大規(guī)模計(jì)算陣列的方法。Yahoo在2006年看到了Hadoop未來(lái)的潛力,并邀請(qǐng)Hadoop創(chuàng)始人Doug Cutting著手發(fā)展Hadoop技術(shù),在2008年Hadoop已經(jīng)形成一定的規(guī)模。Hadoop項(xiàng)目再?gòu)某跗诎l(fā)展的成熟的過程中同時(shí)吸納了一些其他的組件,以便進(jìn)一步提高自身的易用性和功能。