熱線電話:13121318867

登錄
首頁精彩閱讀Hadoop數據分析處理技術解析
Hadoop數據分析處理技術解析
2015-09-30
收藏

Hadoop數據分析處理技術解析


數據的分析是大數據處理的核心。傳統數據分析主要是針對結構化數據,其大致過程為:首先利用數據庫存儲結構化數據,在此基礎上構建數據倉庫,根據需要再構建相應立方體并進行聯機分析處理。這一過程在處理相對較少的結構化數據時非常高效。但對于大數據而言,分析技術面臨3 個直觀問題:大容量數據、多格式數據及分析速度,這使得標準存儲技術無法對大數據進行存儲,從而需要引進更加合理的分析平臺進行大數據分析。目前,開源的Hadoop 是廣泛應用的大數據處理技術,它也是分析處理大數據的核心技術。
  Hadoop是一個基于Java的分布式密集數據處理和數據分析的軟件框架,用戶可以在不了解分布式底層細節的情況下,開發分布式程序,充分利用集群的威力高速運算和存儲。其基本工作原理為:將規模巨大的數據分解成較小、易訪問的批量數據并分發到多臺服務器來分析。主要包括文件系統(HDFS)、數據處理(MapReduce)兩部分功能模塊,最底層是HDFS 用來存儲Hadoop 集群中所有存儲節點上的文件,HDFS 上一層是MapReduce 引擎,該引擎由Job Trackers 和Task Trackers 組成。其組成架構如圖所示:


                                      圖 Hadoop組成架構圖
  鑒于商用的硬件集群上。所謂商用硬件并非低端硬件,其故障率比低端硬件要低很多。Hadoop 不需要運行在價格昂貴并且高度可靠的硬件上,即使對于節點故障的幾率較高的龐大集群,HDFS在遇到故障時仍能夠繼續運行且不讓用戶察覺到明顯的中斷,這種設計降低了對機器的維護成本,尤其是在用戶管理上百臺甚至上千臺機器時。
  Hadoop 的設計是基于一次寫入、多次讀取的高效訪問模式。每次對數據的分析會涉及到數據所在的整個數據集,這種高數據的吞吐量會造成高的時間延遲,對于低延遲的數據訪問,HBase是更好的選擇。HDFS 采用master/slave 的構架,即一個HDFS集群由一個NameNode(master)和多個DataNode(slave)組成。NameNode 是一個中心服務器,負責管理HDFS 的命名空間,并維護HDFS 的所有文件及目錄。這些信息以命名空間鏡像文件和編輯日志文件的形式永久地保存在本地磁盤上。它還記錄著每個文件中各個塊所在的DataNode 信息,但不永久保存塊的位置信息,因為DataNode 會在系統啟動時重新建立新的位置信息。同時,NameCode 還負責控制外部Client 的訪問。
  DataNode 是HDFS 的工作節點,在集群中一般為一個機器節點一個,負責管理節點上附帶的存儲。它們根據客戶端需要或NameNode 調度存儲并檢索數據塊(Block),執行創建、刪除和復制數據塊的命令,并定期向NameNode 發送存儲數據塊列表的動態信息,NameNode 獲取每個DataNode 的動態信息并據此驗證塊映射和文件系統元數據。
  3.2 MapReduce
  MapReduce是用于處理大數據的軟件框架。其核心設計思想為:將問題分塊處理,把計算推到數據而非把數據推向計算。最簡單的MapReduce應用程序至少包含3 個部分:Map函數、Reduce 函數和main函數,其模型相對簡單,將用戶的原始數據進行分塊,然后交給不同的Map任務區執行Map函數處理輸出中間結果,Reduce函數讀取數據列表并對數據進行排序并輸出最終結果。其流程如圖所示:
  3.3 Hadoop 的優勢及問題
  Hadoop 是一個能夠對大量數據進行分布式處理的軟件框架,同時是以一種可靠、高效、可伸縮的方式進行處理??煽渴且驗樗僭O計算元素和存儲會失敗,因此它維護多個工作數據副本,確保能夠針對失敗的節點重新分布處理;高效是因為它以并行的方式工作,通過并行處理加快處理速度;可伸縮是說它能夠處理PB 級數據。
  但與其他新興科技一樣,Hadoop 同樣面臨一些需要解決的問題。(1)目前Hadoop 缺乏企業級的數據保護功能,開發人員必須手動設置HDFS 的數據復制參數, 而依賴開發人員來確定復制參數很可能會導致對存儲空間的浪費。(2)Hadoop 需要投資建設專用的計算集群,但這通常會產生獨立存儲、計算資源以及存儲或CPU 資源利用問題,且這種存儲在與其他程序的共享問題中也存在兼容性問題。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢