Hadoop是一個開源項目,它提供了處理大數(shù)據(jù)的平臺。雖然Hadoop的出現(xiàn)已經(jīng)有一段時日了,但是很多企業(yè)現(xiàn)在才開始使用Hadoop。
Hadoop平臺旨在解決海量數(shù)據(jù)引起的問題,尤其是那些混合了復(fù)雜、非結(jié)構(gòu)化、結(jié)構(gòu)化信息的數(shù)據(jù),這些數(shù)據(jù)的結(jié)構(gòu)導(dǎo)致其不適合存儲在表中。 Hadoop在需要支持深度和計算廣泛的分析比如集群和定位的情況下運(yùn)作良好。那么Hadoop對那些尋求充分利用大數(shù)據(jù)的IT專業(yè)人員意味著什么?簡單的回答是Hadoop解決了與大數(shù)據(jù)相關(guān)聯(lián)的最常見的問題:高效的存儲和訪問海量數(shù)據(jù)。
Hadoop的內(nèi)在設(shè)計允許其作為一個能夠在大量不共享任何內(nèi)存和磁盤的計算機(jī)之間工作的平臺運(yùn)行??紤]到這一點(diǎn),就能很容易看到Hadoop如何提供額外的價值——網(wǎng)絡(luò)管理員可以簡單的購買許多商品服務(wù)器,將它們放在機(jī)架上,然后在每臺服務(wù)器上運(yùn)行Hadoop軟件。
更何況,Hadoop有助于減少大型數(shù)據(jù)集相關(guān)聯(lián)的管理開銷。在操作上,一旦企業(yè)的數(shù)據(jù)加載到了Hadoop平臺,軟件就會把數(shù)據(jù)分解成可管理的片 段,然后自動將這些數(shù)據(jù)分配給不同的服務(wù)器。數(shù)據(jù)天然的分布式性質(zhì)意味著從單一的服務(wù)器訪問數(shù)據(jù)是不可能的。Hadoop跟蹤數(shù)據(jù)駐留的位置,并通過創(chuàng)建 多個存儲副本進(jìn)一步保護(hù)這些信息。這樣,系統(tǒng)的伸縮性增強(qiáng)了:如果某個服務(wù)器脫機(jī)或者失敗了,數(shù)據(jù)可以自動復(fù)制已知的正常副本。
Hadoop如何走得更遠(yuǎn)?
Hadoop進(jìn)一步分多個步驟處理數(shù)據(jù)。例如,限制關(guān)聯(lián)傳統(tǒng)的、集中式的數(shù)據(jù)庫系統(tǒng),該數(shù)據(jù)庫系統(tǒng)可能包括了連接到具有多個處理器的服務(wù)器級系統(tǒng)的大型磁盤驅(qū)動器。在這種情況下,由于磁盤的性能限制,數(shù)據(jù)分析是有限的,并且,最終還要忍受可購買的處理器數(shù)量。
在部署了Hadoop后,集群中的每個服務(wù)器都可以通過Hadoop傳播分布在集群中的數(shù)據(jù)的功能參與數(shù)據(jù)的處理過程。換句話說,一個索引作業(yè)向集 群中的每個服務(wù)器發(fā)送代碼,然后每個服務(wù)器在屬于自己的一塊數(shù)據(jù)上進(jìn)行相關(guān)操作,隨后處理結(jié)果作為一個整體交付。有了Hadoop,過程被視為 MapReduce,在MapReduce中,代碼和進(jìn)程被映射到了所有的服務(wù)器上而操作結(jié)果被減少到了單個數(shù)據(jù)集上。
Hadoop之所以能夠處理海量數(shù)據(jù)就是因為這個過程。Hadoop傳播數(shù)據(jù)并且能夠利用所有的可用集群處理器并行工作來處理復(fù)雜計算問題。