Hadoop生態系統介紹

2022-01-13 06:43:01 字數 2886 閱讀 6319

hadoop生態系統

hadoop1.x 的各專案介紹

1. hdfs

2. mapreduce

3. hive

4. pig

5. mahout

6. zookeeper

7. hbase

8. sqoop

9. flume

10. ambari

當今的hadoop已經成長為乙個龐大的體系,只要有和海量資料相關的領域。都有hadoop的身影。

hadoop生態系統圖譜

大家知道,hadoop的兩大核心就是hdfs和mapreduce,而整個hadoop的體系結構主要是通過hdfs的分布式儲存作為底層資料支援的。並且會通過mapreduce來進行計算分析。

hadoop1.x的核心:

hadoop common

hadoop distributed file system(hdfs)

hadoop mapreduce

hadoop2.x的核心:

hadoop common

hadoop distributed file system(hdfs)

hadoop mapreduce

hadoop yarn

hadoop1.x 生態系統圖

hadoop2.x 生態系統圖

分布式檔案系統,將乙個檔案分成多個塊,分別儲存(拷貝)到不同的節點上.它是hadoop體系中資料儲存管理的基礎。它是乙個高度容錯的系統,能檢測和應對硬體故障,用於在低成本的通用硬體上執行。hdfs簡化了檔案的一致性模型,通過流式資料訪問,提供高吞吐量應用程式資料訪問功能,適合帶有大型資料集的應用程式。

2. mapreduce

分布式計算框架,它是一種分布式計算處理模型和執行環境,用於進行大資料量的計算。共包括map和reduce部分。其中map接受乙個鍵值對(key-value),產生一組中間鍵值對。mapreduce框架會將map函式產生的中間鍵值對里鍵相同的值傳遞給乙個reduce函式。reduce函式:接受乙個鍵,以及相關的一組值,將這組值進行合併產生一組規模更小的值(通常只有乙個或零個值)。

3. hive

基於hadoop的資料倉儲工具,可以將結構化的資料檔案對映為一張資料庫表,並提供類似sql一樣的查詢語言hiveql來管理這些資料。hive定義了一種類似sql的查詢語言(hql),將sql轉化為mapreduce任務在hadoop上執行。通常用於離線分析。

4. pig

pig是乙個基於hadoop的大資料分析平台,它提供了乙個叫piglatin的高階語言來表達大資料分析程式,將指令碼轉換為mapreduce任務在hadoop上執行。通常用於進行離線分析。

5. mahout

資料探勘演算法庫,mahout起源於2023年,最初是apache lucent的子專案,它在極短的時間內取得了長足的發展,現在是apache的頂級專案。mahout的主要目標是建立一些可擴充套件的機器學習領域經典演算法的實現,旨在幫助開發人員更加方便快捷地建立智慧型應用程式。mahout現在已經包含了聚類、分類、推薦引擎(協同過濾)和頻繁集挖掘等廣泛使用的資料探勘方法。除了演算法,mahout還包含資料的輸入/輸出工具、與其他儲存系統(如資料庫、mongodb 或cassandra)整合等資料探勘支援架構。

6. zookeeper

分布式協作服務,是乙個針對大型分布式系統的可靠協調系統,提供包括配置維護,名字服務,分布式同步和組服務等功能。hadoop的管理就是用的zookeeper

7. hbase

hbase是乙個分布式列存資料庫,它基於hadoop之上提供了類似bigtable的功能。hbase是乙個針對結構化資料的可伸縮、高可靠、高效能、分布式和面向列的動態模式資料庫。和傳統關聯式資料庫不同,hbase採用了bigtable的資料模型:增強的稀疏排序對映表(key/value),其中,鍵由行關鍵字、列關鍵字和時間戳構成。hbase提供了對大規模資料的隨機、實時讀寫訪問,同時,hbase中儲存的資料可以使用mapreduce來處理,它將資料儲存和平行計算完美地結合在一起。

8. sqoop

資料同步工具,sql-to-hadoop的縮寫。sqoop是乙個hadoop和關係型資料庫之間的資料轉移工具。可將關係型資料庫中的資料匯入到hadoop的hdfs中,也可將hdfs中的資料導進到關係型資料庫中主要用於傳統資料庫和hadoop之前傳輸資料。資料的匯入和匯出本質上是mapreduce程式,充分利用了mr的並行化和容錯性。

9. flume

日誌收集工具,cloudera開源的日誌收集系統,具有分布式、高可靠、高容錯、易於定製和擴充套件的特點。它將資料從產生、傳輸、處理並最終寫入目標的路徑的過程抽象為資料流,在具體的資料流中,資料來源支援在flume中定製資料傳送方,從而支援收集各種不同協議資料。同時,flume資料流提供對日誌資料進行簡單處理的能力,如過濾、格式轉換等。此外,flume還具有能夠將日誌寫往各種資料目標(可定製)的能力。總的來說,flume是乙個可擴充套件、適合複雜環境的海量日誌收集系統。

10. ambari

是乙個對hadoop集群進行監控和管理的基於web的系統。目前已經支援hdfs,mapreduce,hive,hcatalog,hbase,zookeeper,oozie,pig和sqoop等元件。

來自為知筆記(wiz)

Hadoop生態系統

摘要 介紹hadoop生態系統,從hadoop生態系統有什麼成員,成員能做什麼和hadoop生態系統能夠提供大資料問題解決方案兩方面來認識。hadoop生態圖,通俗地說,就是hadoop核心模組和衍生的子專案。一幅hadoop生態圖,讓我想到了兩個問題。問題一 hadoop生態系統包括哪些成員?每個...

Hadoop 生態系統

hadoop是乙個分布式儲存和計算平台。主要解決海量資料的儲存與分析計算問題 1 高可靠性 hadoop底層維護多個資料副本,所以即使hadoop某個計算元素或儲存出現故障,也不會導致資料的丟失。2 高擴充套件性 在集群間分配任務資料,可方便的擴充套件數以乾計的節點。3 高效性 在mapreduce...

Hadoop生態系統

hadoop生態系統 廣義的hadoop hdfs 檔案儲存系統基於硬碟 yarn 資源排程框架 mapreduce 分布式處理框架 hive 資料倉儲 rconnections 資料分析 mahout 機器學習庫 pig 指令碼語言,跟hive類似 oozie 工作流引擎,管理作業執行順序 zoo...