1. 程式人生 > >一、什麽是Hadoop?

一、什麽是Hadoop?

pos base 個人 sys 編程 體系 分布式文件系統 目的 能力

一、什麽是Hadoop?

  Hadoop是Apache下的一個開源分布式計算平臺。以Hadoop分布式文件系統(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的開源實現)為核心的Hadoop為用戶提供了系統底層細節透明的分布式基礎結構。

  Hadoop包含HDFS,MapReduce,Pig,ZooKeeper等子項目的集合,用於分布式計算

二、為什麽要用Hadoop?

  由於現在信息量速度增長快。信息裏又積累著大量的數據,包括個人數據和工業數據。每年產生的數字信息將會有1/3的內容留在雲平臺中,或者由雲平臺處理。我們需要對這些數據進行分析和處理,獲取更多有價值的信息。如何搞笑的存儲和管理這些數據,如何分析這些數據,就可以選用Hadoop系統,處理大數據時,采用了分布式存儲方式,提供了讀寫速度,擴大了存儲容量。采用MapReduce來整合分布式文件系統上的數據,保證分析和處理數據的高效,而且Hadoop采用存儲冗余數據的方式保證了數據的安全性。

三、HDFS

  HDFS有高容錯特性,以及它基於Java語言開發,可部署在低廉的計算機集群中,而且不限某個操作系統,它基於Java語言開發。HDFS的數據管理能力,MapReduce處理任務的高效率。

四、Hadoop項目及結構

  核心內容是MapReduce和HDFS,但是Common,Avro,Chukwa,Hive,HBase等項目。

Pig Chukwa Hive HBase
MapReduce HDFS ZooKeeper
Core Avro

1、Core/Common:為Hadoop其他子項目提供支持的常用工具,主要包括FileSystem,RPC(Remote Procedure Call遠程過程調用協議)和串行化庫。

2、Avro:是用於數據序列化的系統。提供了豐富的數據結構類型,快速可壓縮的二進制數據格式,可存儲持久性數據的文件集。它依賴於模式Schema,Avro數據讀和寫是在模式下完成,這樣可以減少寫入數據的開銷,提高序列化的速度

3、MapReduce:是一種編程模型,用於大規模數據集的並行運算。Map映射,Reduce歸約。MapReduce執行時先指定一個Map映射函數,把輸入鍵值對映射成一個新的鍵值對。經過一定的處理後交給Reduce,Reduce對相同Key下的所有Value進行處理後再輸出鍵值對作為最終的結果。

核心是HDFS和MapReduce,Hadoop的體系結構主要通過HDFS來實現對分布式存儲的底層支持,通過MapReduce來實現對分布式並行任務處理額的程序支持。

4、HBase是一個分布式數據庫

5、Hive是建立在Hadoop上的數據倉庫基礎架構。

一、什麽是Hadoop?