search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

尚學堂java學習筆記:Hadoop 生態圈

架構師和開發人員通常會使用一種軟體工具,用於其特定的用途軟體開發。例如,他們可能會說,Tomcat Apache Web伺服器,MySQL是一個資料庫工具。

然而,當提到 Hadoop 的時候,事情變得有點複雜。Hadoop 包括大量的工具,用來協同工作。因此,Hadoop 可用於完成許多事情,以至於,人們常常根據他們使用的方式來定義它。

對於一些人來說,Hadoop 是一個數據管理系統。他們認為 Hadoop 是數據分析的核心,彙集了結構化和非結構化的數據,這些數據分佈在傳統的企業數據棧的每一層。對於其他人,Hadoop是一個大規模并行處理框架,擁有超級計算能力,定位於推動企業級應用的執行。還有一些人認為Hadoop作為一個開源社區,主要為解決大數據的問題提供工具和軟體。因為Hadoop可以用來解決很多問題,所以很多人認為Hadoop是一個基本框架。

雖然 Hadoop 提供了這麼多的功能,但是仍然應該把它歸類為多個組件組成的Hadoop生態圈,這些組件包括數據存儲、數據集成、數據處理和其它進行數據分析的專門工具。

1)HDFSHadoop生態圈的基本組成部分是Hadoop分散式文件系統(HDFS)。HDFS是一種數據分散式保存機制,數據被保存在計算機集群上。數據寫入一次,讀取多次。HDFS HBase等工具提供了基礎。

2)MapReduceHadoop 的主要執行框架是 MapReduce,它是一個分散式、并行處理的編程模型。MapReduce 把任務分為map(映射)階段和reduce(化簡)。開發人員使用存儲在 HDFS 中數據(可實現快速存儲),編寫HadoopMapReduce任務。由於MapReduce工作原理的特性,Hadoop能以并行的方式訪問數據,從而實現快速訪問數據。

3) HbaseHBase是一個建立在HDFS之上,面向列的NoSQL資料庫,用於快速讀/寫大量數據。HBase使用Zookeeper進行管理,確保所有組件都正常運行。

4) ZooKeeper:用於 Hadoop 的分散式協調服務。Hadoop 的許多組件依賴於 Zookeeper,它運行在計算機集群上面,用於管理Hadoop操作。

5) HiveHive類似於SQL高級語言,用於運行存儲在 Hadoop 上的查詢語句,Hive讓不熟悉MapReduce 開發人員也能編寫數據查詢語句,然後這些語句被翻譯為 Hadoop 上面的MapReduce任務。像Pig一樣,Hive作為一個抽象層工具,吸引了很多熟悉SQL而不是Java編程的數據分析師。

6) Pig:它是MapReduce 編程的複雜性的抽象。Pig平台包括運行環境和用於分析Hadoop數據集的腳本語言(Pig Latin)。其編譯器將Pig Latin翻譯成Map Reduce程序序列。

7) Sqoop:是一個連接工具,用於在關係資料庫、數據倉庫和Hadoop之間轉移數據。Sqoop利用資料庫技術描述架構,進行數據的導入/導出;利用 MapReduce實現并行化運行和容錯技術。



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦