Hadoop生态系统介绍
Hadoop1.x 的各項(xiàng)目介紹
1. HDFS
2. MapReduce
3. Hive
4. Pig
5. Mahout
6. ZooKeeper
7. HBase
8. Sqoop
9. Flume
10. Ambari
Hadoop生態(tài)系統(tǒng)
當(dāng)今的Hadoop已經(jīng)成長(zhǎng)為一個(gè)龐大的體系,只要有和海量數(shù)據(jù)相關(guān)的領(lǐng)域。都有Hadoop的身影。
Hadoop生態(tài)系統(tǒng)圖譜
大家知道,Hadoop的兩大核心就是HDFS和MapReduce,而整個(gè)Hadoop的體系結(jié)構(gòu)主要是通過(guò)HDFS的分布式存儲(chǔ)作為底層數(shù)據(jù)支持的。并且會(huì)通過(guò)MapReduce來(lái)進(jìn)行計(jì)算分析。
Hadoop1.x的核心:
Hadoop2.x的核心:
Hadoop1.x 生態(tài)系統(tǒng)圖
Hadoop2.x 生態(tài)系統(tǒng)圖
Hadoop1.x 的各項(xiàng)目介紹
1. HDFS
分布式文件系統(tǒng),將一個(gè)文件分成多個(gè)塊,分別存儲(chǔ)(拷貝)到不同的節(jié)點(diǎn)上.它是Hadoop體系中數(shù)據(jù)存儲(chǔ)管理的基礎(chǔ)。它是一個(gè)高度容錯(cuò)的系統(tǒng),能檢測(cè)和應(yīng)對(duì)硬件故障,用于在低成本的通用硬件上運(yùn)行。HDFS簡(jiǎn)化了文件的一致性模型,通過(guò)流式數(shù)據(jù)訪問(wèn),提供高吞吐量應(yīng)用程序數(shù)據(jù)訪問(wèn)功能,適合帶有大型數(shù)據(jù)集的應(yīng)用程序。
2. MapReduce
分布式計(jì)算框架,它是一種分布式計(jì)算處理模型和執(zhí)行環(huán)境,用于進(jìn)行大數(shù)據(jù)量的計(jì)算。共包括Map和Reduce部分。其中Map接受一個(gè)鍵值對(duì)(key-value),產(chǎn)生一組中間鍵值對(duì)。MapReduce框架會(huì)將map函數(shù)產(chǎn)生的中間鍵值對(duì)里鍵相同的值傳遞給一個(gè)reduce函數(shù)。Reduce函數(shù):接受一個(gè)鍵,以及相關(guān)的一組值,將這組值進(jìn)行合并產(chǎn)生一組規(guī)模更小的值(通常只有一個(gè)或零個(gè)值)。
3. Hive
基于Hadoop的數(shù)據(jù)倉(cāng)庫(kù)工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫(kù)表,并提供類似SQL一樣的查詢語(yǔ)言HiveQL來(lái)管理這些數(shù)據(jù)。Hive定義了一種類似SQL的查詢語(yǔ)言(HQL),將SQL轉(zhuǎn)化為MapReduce任務(wù)在Hadoop上執(zhí)行。通常用于離線分析。
4. Pig
Pig是一個(gè)基于Hadoop的大數(shù)據(jù)分析平臺(tái),它提供了一個(gè)叫PigLatin的高級(jí)語(yǔ)言來(lái)表達(dá)大數(shù)據(jù)分析程序,將腳本轉(zhuǎn)換為MapReduce任務(wù)在Hadoop上執(zhí)行。通常用于進(jìn)行離線分析。
5. Mahout
數(shù)據(jù)挖掘算法庫(kù),Mahout起源于2008年,最初是Apache Lucent的子項(xiàng)目,它在極短的時(shí)間內(nèi)取得了長(zhǎng)足的發(fā)展,現(xiàn)在是Apache的頂級(jí)項(xiàng)目。Mahout的主要目標(biāo)是創(chuàng)建一些可擴(kuò)展的機(jī)器學(xué)習(xí)領(lǐng)域經(jīng)典算法的實(shí)現(xiàn),旨在幫助開(kāi)發(fā)人員更加方便快捷地創(chuàng)建智能應(yīng)用程序。Mahout現(xiàn)在已經(jīng)包含了聚類、分類、推薦引擎(協(xié)同過(guò)濾)和頻繁集挖掘等廣泛使用的數(shù)據(jù)挖掘方法。除了算法,Mahout還包含數(shù)據(jù)的輸入/輸出工具、與其他存儲(chǔ)系統(tǒng)(如數(shù)據(jù)庫(kù)、MongoDB 或Cassandra)集成等數(shù)據(jù)挖掘支持架構(gòu)。
6. ZooKeeper
分布式協(xié)作服務(wù),是一個(gè)針對(duì)大型分布式系統(tǒng)的可靠協(xié)調(diào)系統(tǒng),提供包括配置維護(hù),名字服務(wù),分布式同步和組服務(wù)等功能。Hadoop的管理就是用的ZooKeeper
7. HBase
HBase是一個(gè)分布式列存數(shù)據(jù)庫(kù),它基于Hadoop之上提供了類似BigTable的功能。HBase是一個(gè)針對(duì)結(jié)構(gòu)化數(shù)據(jù)的可伸縮、高可靠、高性能、分布式和面向列的動(dòng)態(tài)模式數(shù)據(jù)庫(kù)。和傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)不同,HBase采用了BigTable的數(shù)據(jù)模型:增強(qiáng)的稀疏排序映射表(Key/Value),其中,鍵由行關(guān)鍵字、列關(guān)鍵字和時(shí)間戳構(gòu)成。HBase提供了對(duì)大規(guī)模數(shù)據(jù)的隨機(jī)、實(shí)時(shí)讀寫(xiě)訪問(wèn),同時(shí),HBase中保存的數(shù)據(jù)可以使用MapReduce來(lái)處理,它將數(shù)據(jù)存儲(chǔ)和并行計(jì)算完美地結(jié)合在一起。
8. Sqoop
數(shù)據(jù)同步工具,SQL-to-Hadoop的縮寫(xiě)。Sqoop是一個(gè)Hadoop和關(guān)系型數(shù)據(jù)庫(kù)之間的數(shù)據(jù)轉(zhuǎn)移工具。可將關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)入到Hadoop的HDFS中,也可將HDFS中的數(shù)據(jù)導(dǎo)進(jìn)到關(guān)系型數(shù)據(jù)庫(kù)中主要用于傳統(tǒng)數(shù)據(jù)庫(kù)和Hadoop之前傳輸數(shù)據(jù)。數(shù)據(jù)的導(dǎo)入和導(dǎo)出本質(zhì)上是Mapreduce程序,充分利用了MR的并行化和容錯(cuò)性。
9. Flume
日志收集工具,Cloudera開(kāi)源的日志收集系統(tǒng),具有分布式、高可靠、高容錯(cuò)、易于定制和擴(kuò)展的特點(diǎn)。它將數(shù)據(jù)從產(chǎn)生、傳輸、處理并最終寫(xiě)入目標(biāo)的路徑的過(guò)程抽象為數(shù)據(jù)流,在具體的數(shù)據(jù)流中,數(shù)據(jù)源支持在Flume中定制數(shù)據(jù)發(fā)送方,從而支持收集各種不同協(xié)議數(shù)據(jù)。同時(shí),Flume數(shù)據(jù)流提供對(duì)日志數(shù)據(jù)進(jìn)行簡(jiǎn)單處理的能力,如過(guò)濾、格式轉(zhuǎn)換等。此外,Flume還具有能夠?qū)⑷罩緦?xiě)往各種數(shù)據(jù)目標(biāo)(可定制)的能力。總的來(lái)說(shuō),Flume是一個(gè)可擴(kuò)展、適合復(fù)雜環(huán)境的海量日志收集系統(tǒng)。
10. Ambari
是一個(gè)對(duì)Hadoop集群進(jìn)行監(jiān)控和管理的基于Web的系統(tǒng)。目前已經(jīng)支持HDFS,MapReduce,Hive,HCatalog,HBase,ZooKeeper,Oozie,Pig和Sqoop等組件。
來(lái)自為知筆記(Wiz)
轉(zhuǎn)載于:https://www.cnblogs.com/meet/p/5439202.html
總結(jié)
以上是生活随笔為你收集整理的Hadoop生态系统介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 在Delphi程序中动态设置ODBC数据
- 下一篇: 格雷码Gray Code详解