1. 程式人生 > >Hadoop生態圈組件圖

Hadoop生態圈組件圖

數據集 watermark 分布式文件系統 長大 base 消息 定位 分布式文件系 red

技術分享圖片

1.Hadoop Common是Hadoop體系最底層的一個模塊,為Hadoop各個子模塊提供各種工具,比如系統配置工具Configuration、遠程調用RPC、序列化機制和日誌操作等等,是其他模塊的基礎。

2.HDFS是Hadoop分布式文件系統縮寫,它是Hadoop的基石。HDFS是一個具備高度容錯性的文件系統,適合部署在廉價的機器上,它能提供高吞吐量的數據訪問,非常適合大規模數據集上的應用。

3.YARN是統一資源管理和調度平臺。它解決了上一代Hadoop資源利用率低和不能兼容異構的計算框架等多種問題。提供了資源隔離方案和雙調度器的實現。

4.MapReduce是一種編程模型,利用函數式編程思想,將對數據集的過程分為Map和Reduce兩個階段。MapReduce的這種編程模型非常適合進行分布式計算。Hadoop提供MapReduce的計算框架,實現了這種編程模型,用戶可以通過Java\C++\Python\PHP等多種語言進行編程。

5.Spark是加州伯克利大學AMP實驗室開發的新一代計算框架,對叠代計算有很大優勢,與MapReduce相比性能提升明顯,並且可以和Yarn集成,並且還提供了SparkSQL組件。

6.HBase來源於Google的Bigtable論文,HBase是一個分布式的,面向列族的開源數據庫。采用了Bigtable的數據模型--列族。HBase擅長大規模數據的隨機、實時讀寫訪問。

7.Zookeeper作為一個分布式服務框架,是基於Fast Paxos算法實現,解決分布式系統中一致性的問題。提供了配置維護,名字服務,分布式同步,組服務等。

8.Hive最早是facebook開發並使用的,是基於Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張表,提供簡單的SQL查詢功能。並將SQL轉為MapReduce作業運行。其有點就是學習成本低。降低了Hadoop的使用門檻。

9.Pig與Hive類似,也是對大數據集進行分析和評估的工具,不同於Hive的是Pig提供了一種高層的,面向領域的抽象語言Pig Latin.同樣Pig也可以將Pig Latin轉化為MapReduce作業。相比與SQL,Pig Latin更加靈活,但學習成本更高。

10.Impala是Cloudera公司開發,可以對存儲HDFS、HBase的海量數據提供交互查詢的SQL接口。除了和Hive使用相同的統一存儲平臺,Impala也使用相同的元數據,SQL語法,ODBC驅動程序和用戶界面。Impala還提供了一個熟悉的面向批量或者實時查詢的統一平臺。Impala的特點是查詢非常迅速,其性能大幅度領先於Hive。Impala並不是基於MapReduce的,它的定位是OLAP,是Google的新三駕馬車之一Dremel的開源實現。

11.Mahout是一個機器學習和數據挖掘庫,它利用MapReduce編程模型實現k-means,Native,Bayes,Collaborative Filtering等經典的機器學習算法,並使其具有良好的可擴展性。

12.Flume是Cloudera提供的一個高可用,高可靠,分布式的海量日誌采集、聚合和傳輸系統,Flume支持在日誌系統中定制各類數據發送方,用於數據收集,同時Flume提供對數據進行簡單處理並寫到各個數據接收方的能力。

13.Sqoop是SQL to Hadoop的縮寫,主要作用在於結構化的數據存儲與Hadoop之間進行數據雙向交換,也就是說,Sqoop可以將關系型數據庫的數據導入到HDFS、Hive、也可以從HDFS、Hive導出到關系型數據庫中。Sqoop利用了Hadoop的優點,整個導入導出都是由MapReduce計算框架實現並行化,非常高效。

14.Kafka是一種高吞吐量的分布式發布訂閱消息系統。具有分布式、高可用的特性,在大數據系統裏被廣泛使用,如果把大數據系統比作一臺機器,那麽kafka就是前端總線,它連接了平臺中的各個組件。

還有比如說Storm這樣大數據平臺。

Hadoop生態圈組件圖