天天看點

資料庫必知詞彙:Hadoop

Apache Hadoop是一個由Apache基金會所開發的分布式系統基礎架構,它允許使用簡單的程式設計模型跨計算機叢集對大型資料集進行分布式處理。它被設計成從單個伺服器擴充到數千台機器,每台機器都提供本地計算和存儲。庫本身的設計目的是在應用層檢測和處理故障,而不是依賴硬體來提供高可用性,是以在計算機叢集之上提供高可用性服務,而每個叢集都可能容易出現故障。

Hadoop原本來自于谷歌一款名為MapReduce的程式設計模型包。谷歌的MapReduce架構可以把一個應用程式分解為許多并行計算指令,跨大量的計算節點運作非常巨大的資料集。使用該架構的一個典型例子就是在網絡資料上運作的搜尋算法。Hadoop最初隻與網頁索引有關,迅速發展成為分析大資料的領先平台。

使用者可以在不了解分布式底層細節的情況下,開發分布式程式。充分利用叢集的威力進行高速運算和存儲。Hadoop的架構最核心的設計就是:HDFS和MapReduce。HDFS為海量的資料提供了存儲,而MapReduce則為海量的資料提供了計算。

Hadoop實作的分布式檔案系統(Hadoop Distributed File System),簡稱HDFS。HDFS有高容錯性的特點,并且設計用來部署在低廉的硬體上;而且它提供高吞吐量來通路應用程式的資料,适合那些有着超大資料集的應用程式。HDFS放寬了POSIX的要求,可以以流的形式通路檔案系統中的資料。

Hadoop是一個能夠讓使用者輕松架構和使用的分布式計算平台。使用者可以輕松地在Hadoop上開發和運作處理海量資料的應用程式。它主要有以下幾個優點:

1.高可靠性。Hadoop按位存儲和處理資料的能力值得人們信賴。

2.高擴充性。Hadoop是在可用的計算機集簇間配置設定資料并完成計算任務的,這些集簇可以友善地擴充到數以千計的節點中。

3.高效性。Hadoop能夠在節點之間動态地移動資料,并保證各個節點的動态平衡,是以處理速度非常快。

4.高容錯性。Hadoop能夠自動儲存資料的多個副本,并且能夠自動将失敗的任務重新配置設定。

5.低成本。與一體機、商用資料倉庫以及QlikView、Yonghong Z-Suite等資料集市相比,Hadoop是開源的,項目的軟體成本是以會大大降低。

Hadoop得以在大資料處理應用中廣泛應用得益于其自身在資料提取、變形和加載(ETL)方面上的天然優勢。Hadoop的分布式架構,将大資料處理引擎盡可能的靠近存儲,對例如像ETL這樣的批處理操作相對合适,因為類似這樣操作的批處理結果可以直接走向存儲。Hadoop的MapReduce功能實作了将單個任務打碎,并将碎片任務(Map)發送到多個節點上,之後再以單個資料集的形式加載(Reduce)到資料倉庫裡。

Hadoop 由許多元素構成。其最底部是 Hadoop Distributed File System(HDFS),它存儲 Hadoop 叢集中所有存儲節點上的檔案。HDFS的上一層是MapReduce 引擎,該引擎由 JobTrackers 和 TaskTrackers 組成。通過對Hadoop分布式計算平台最核心的分布式檔案系統HDFS、MapReduce處理過程,以及資料倉庫工具Hive和分布式資料庫Hbase的介紹,基本涵蓋了Hadoop分布式平台的所有技術核心。

資料來源:

1.Apache Hadoop

http://hadoop.apache.org/

2.秦婷,張長華主編;王伯爵,沈海龍,紀善國副主編,雲計算技術項目教程,知識産權出版社,2016.12

3.楊旭,湯海京,丁剛毅編著,資料科學導論 第2版,北京理工大學出版社,2017.01

4.一分鐘讓你知道Hadoop是什麼

https://blog.csdn.net/dashujvyu/article/details/89843860

5.Joe Austin.Dataguise Enhances DG for Hadoop with Selective Encryption to Enable Secure, High-Performance Analytics for Hadoop Users:網絡出版,2013年

6.陳吉榮, 樂嘉錦. 基于Hadoop生态系統的大資料解決方案綜述[J]. 計算機工程與科學, 2013, 35(10):25-35.

大話Hadoop MapReduce

https://searchdatabase.techtarget.com.cn/microsite/7-22750/