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