Hadoop生態(tài)系統(tǒng)全面盤點(diǎn)
譯文Hadoop擁有一個(gè)龐大而且充滿活力的開發(fā)者社區(qū),但Hadoop生態(tài)系統(tǒng)當(dāng)中的很多項(xiàng)目在名稱與功能的匹配性方面出入很大,這直接導(dǎo)致很多朋友難以分清各個(gè)項(xiàng)目的作用以及使用目的。
作為Hadoop的構(gòu)建核心,HDFS與MapReduce是無法回避的兩大要素。不過開發(fā)者及企業(yè)做出的大量貢獻(xiàn)讓Hadoop成為一套更為復(fù)雜的平臺(tái)。生態(tài)系統(tǒng)中的一部分項(xiàng)目屬于Apache基金會(huì)項(xiàng)目(在下圖中以‘A’作為標(biāo)注),另一些則屬于具備Apache許可、但卻由企業(yè)負(fù)責(zé)運(yùn)作(在下圖中以‘AL’作為標(biāo)注)的項(xiàng)目。
在今天的文章中,我們將對(duì)Hadoop的發(fā)展歷程做一番回顧,看看如今其陣容之中包含著哪些“猛將”。
能做什么: 作為Hadoop的文件系統(tǒng)或者存儲(chǔ)機(jī)制。
有何幫助: 創(chuàng)建一套重復(fù)性、可容錯(cuò)且可擴(kuò)展的文件系統(tǒng),旨在處理大型文件。利用數(shù)據(jù)位置提高M(jìn)apReduce任務(wù)的數(shù)據(jù)輸入性能。
能做什么: 一款高度可擴(kuò)展的數(shù)據(jù)庫(kù)。
有何幫助: 允許我們以線性方式對(duì)數(shù)據(jù)庫(kù)進(jìn)行擴(kuò)展。提供可進(jìn)行調(diào)節(jié)的數(shù)據(jù)一致性級(jí)別控制。
能做什么: 利用HDFS創(chuàng)建高度可擴(kuò)展性數(shù)據(jù)庫(kù)。
有何幫助: 實(shí)現(xiàn)高度可擴(kuò)展特性與隨機(jī)訪問。利用HDFS保障嚴(yán)格的數(shù)據(jù)一致性。
能做什么:幫助分布式節(jié)點(diǎn)之間的數(shù)據(jù)實(shí)現(xiàn)同步 。
有何幫助: 對(duì)集群中所有節(jié)點(diǎn)之間的一致性分布式小規(guī)模數(shù)據(jù)進(jìn)行維護(hù)。
#p#
能做什么: 將一項(xiàng)工作拆分為多個(gè)任務(wù)并同時(shí)加以實(shí)施。
有何幫助: 框架會(huì)對(duì)分布式系統(tǒng)當(dāng)中的疑難組件進(jìn)行抽象化處理,允許系統(tǒng)同時(shí)處理大量數(shù)據(jù)。
能做什么: 允許用戶通過查詢語言來處理數(shù)據(jù)。
有何幫助: 幫助SQL程序員通過創(chuàng)建類SQL查詢以使用MapReduce。
能做什么: 在大規(guī)模數(shù)據(jù)當(dāng)中實(shí)現(xiàn)低延遲查詢。
有何幫助: 幫助SQL程序員通過創(chuàng)建類SQL查詢以提高大數(shù)據(jù)訪問速度。
能做什么: 利用數(shù)據(jù)流或者腳本類語言進(jìn)行數(shù)據(jù)處理。
有何幫助: 幫助程序員利用數(shù)據(jù)流語言發(fā)揮MapReduce功能。
能做什么: 利用預(yù)先編寫的庫(kù)在MapReduce中運(yùn)行機(jī)器學(xué)習(xí)算法。
有何幫助: 允許用戶通過庫(kù)創(chuàng)建MapReduce建議與集群。利用現(xiàn)有代碼加快開發(fā)速度。
能做什么: 利用預(yù)先編寫的庫(kù)在MapReduce中運(yùn)行圖形算法。
有何幫助: 用戶不必再為了使用MapReduce而重新編寫圖形算法。利用現(xiàn)有代碼加快開發(fā)速度。
能做什么: 運(yùn)行測(cè)試以驗(yàn)證MapReduce工作功能的正確性。
有何幫助: 運(yùn)行程序測(cè)試以驗(yàn)證MapReduce程序運(yùn)作的正確性。提供對(duì)象,允許用戶模擬輸入流程以驗(yàn)證執(zhí)行結(jié)果。
#p#
能做什么: 提供簡(jiǎn)便方式以實(shí)現(xiàn)MapReduce工作數(shù)據(jù)的輸入與輸出。
有何幫助: 創(chuàng)建域?qū)ο笠源鎯?chǔ)數(shù)據(jù)。簡(jiǎn)化MapReduce工作數(shù)據(jù)的序列化與反序列化。
能做什么: 在關(guān)系型數(shù)據(jù)庫(kù)與Hadoop之間實(shí)現(xiàn)數(shù)據(jù)移動(dòng)。
有何幫助:允許數(shù)據(jù)從關(guān)系型數(shù)據(jù)庫(kù)轉(zhuǎn)移到Hadoop當(dāng)中,以備后期處理。將數(shù)據(jù)輸出結(jié)果從MapReduce工作中提取出來并移回關(guān)系型數(shù)據(jù)庫(kù)。
能做什么: 以可擴(kuò)展方式處理大量日志數(shù)據(jù)。
有何幫助: 將大量日志數(shù)據(jù)轉(zhuǎn)移到HDFS當(dāng)中。由于Flume擁有的擴(kuò)展性,因此能夠處理大量傳入數(shù)據(jù)。
能做什么: 允許用戶通過網(wǎng)絡(luò)瀏覽器與Hadoop集群進(jìn)行交互。
有何幫助: 用戶能夠更輕松地與Hadoop集群實(shí)現(xiàn)交互。細(xì)化權(quán)限設(shè)定幫助管理員對(duì)用戶進(jìn)行配置。
能做什么: Hadoop中的復(fù)雜工作流的創(chuàng)建任務(wù)更加便捷。
有何幫助: 允許用戶利用Hive、pig以及MapReduce等其它項(xiàng)目創(chuàng)建復(fù)雜工作流。內(nèi)置邏輯允許用戶按預(yù)定步驟處理故障。
英文原文:http://www.networkworld.com/slideshow/124977/sizing-up-the-hadoop-ecosystem.html#slide1