hadoop是乙個由apache**會所開發的分布式系統基礎架構。使用者可以在不了解分布式底層細節的情況下,開發分布式程式。充分利用集群的威力進行高速運算和儲存。hadoop實現了乙個分布式檔案系統( distributed file system),其中乙個元件是hdfs(hadoop distributed file system)。hdfs有高容錯性的特點,並且設計用來部署在低廉的(low-cost)硬體上;而且它提供高吞吐量(high throughput)來訪問應用程式的資料,適合那些有著超大資料集(large data set)的應用程式。hdfs放寬了(relax)posix的要求,可以以流的形式訪問(streaming access)檔案系統中的資料。hadoop的框架最核心的設計就是:hdfs和mapreduce。hdfs為海量的資料提供了儲存,而mapreduce則為海量的資料提供了計算[1] 。
hadoop是乙個能夠對大量資料進行分布式處理
的軟體框架。 hadoop 以一種可靠、高效、可伸縮的方式進行資料處理。
hadoop 是可靠的,因為它假設計算元素和儲存會失敗,因此它維護多個工作資料副本,確保能夠針對失敗的節點重新分布處理。
hadoop 是高效的,因為它以並行的方式工作,通過並行處理加快處理速度。
hadoop 還是可伸縮的,能夠處理 pb 級資料。
此外,hadoop 依賴於社群服務,因此它的成本比較低,任何人都可以使用。
hadoop是乙個能夠讓使用者輕鬆架構和使用的分布式計算平台。使用者可以輕鬆地在hadoop上開發和執行處理海量資料的應用程式。它主要有以下幾個優點[3]
:1.高可靠性。hadoop按位儲存和處理資料的能力值得人們信賴[3]
。2.高擴充套件性。hadoop是在可用的計算機集簇間分配資料並完成計算任務的,這些集簇可以方便地擴充套件到數以千計的節點中[3]
。3.高效性。hadoop能夠在節點之間動態地移動資料,並保證各個節點的動態平衡,因此處理速度非常快[3]
。4.高容錯性。hadoop能夠自動儲存資料的多個副本,並且能夠自動將失敗的任務重新分配[3]
。5.低成本。與一體機、商用資料倉儲以及qlikview、yonghong z-suite等資料集市相比,hadoop是開源的,專案的軟體成本因此會大大降低[3]
。hadoop帶有用j**a語言編寫的框架,因此執行在 linux 生產平台上是非常理想的。hadoop 上的應用程式也可以使用其他語言編寫,比如 c++
[3]。
hadoop大資料處理的意義
hadoop架構圖
hadoop得以在大資料處理應用中廣泛應用得益於其自身在資料提取、變形和載入(etl)方面上的天然優勢。hadoop的分布式架構,將大資料處理引擎盡可能的靠近儲存,對例如像etl這樣的批處理操作相對合適,因為類似這樣操作的批處理結果可以直接走向儲存。hadoop的mapreduce功能實現了將單個任務打碎,並將碎片任務(map)傳送到多個節點上,之後再以單個資料集的形式載入(reduce)到資料倉儲裡[3]
Hadoop讀書筆記(一)Hadoop介紹
適合大資料的分布式與計算平台。hdfs hadoop distributed file system 分布式檔案系統 mapreduce 平行計算框架 主從結構 主節點,只有乙個 namenode 從節點,有很多個 datanodes namenode負責 接收使用者操作請求 維護檔案系統的目錄結構...
Hadoop讀書筆記(一)Hadoop介紹
適合大資料的分布式與計算平台。hdfs hadoop distributed file system 分布式檔案系統 mapreduce 平行計算框架 主從結構 主節點,只有乙個 namenode 從節點,有很多個 datanodes namenode負責 接收使用者操作請求 維護檔案系統的目錄結構...
Hadoop筆記(一) MapReduce介紹
mapreduce提出了乙個程式設計模型,該模型將問題進行抽象,並轉換為乙個資料集 由鍵值對組成 的計算。該計算由map和reduce兩部分組成,提供對外的介面。定址時間的提高遠遠慢於傳輸速率的提高。mapreduce比較適合以批處理方式處理需要分析整個資料集的問題 ad hoc 一次寫入 多次讀取...