• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Hadoop的兩大核心技術(shù)HDFS和MapReduce

      2018-02-25 02:39李港劉玉程
      電子技術(shù)與軟件工程 2018年7期

      李港 劉玉程

      摘要 本文主要介紹分布式處理框架Hadoop的兩大核心技術(shù)HDFS和MapReduce,使讀者對Hadoop框架有一個基本的了解。

      【關(guān)鍵詞】Hadoop HDFS MapReduce 分布式數(shù)據(jù)存儲 分布式數(shù)據(jù)處理

      2008年9月4日《自然》(Nature)雜志刊登了一個名為“Big Data”的專輯,大數(shù)據(jù)這個詞匯開始逐漸進(jìn)入大眾的視野,云計算、大數(shù)據(jù)、物聯(lián)網(wǎng)技術(shù)的普及人類社會迎來了第三次信息化的浪潮,數(shù)據(jù)信息也在各行各業(yè)中呈現(xiàn)爆炸式的增長。根據(jù)全球互聯(lián)網(wǎng)中心數(shù)據(jù),到2020年底,全球的數(shù)據(jù)量將達(dá)到35ZB,大數(shù)據(jù)時代正式到來了,大數(shù)據(jù)的4V特性:多樣化( Variety)、快速化(Velocity)、大量化( Volume)、價值密度低(Value)使得對大數(shù)據(jù)的存儲和處理顯得格外重要,Google、Microsoft包括國內(nèi)的阿里巴巴、百度、騰訊等多家互聯(lián)網(wǎng)企業(yè)的巨頭都在使用分布式處理軟件框架--Hadoop平臺。

      1 Hadoop平臺簡述

      Hadoop是Apache基金會旗下的開源分布式計算平臺,為用戶提供了系統(tǒng)底層透明的分布式基礎(chǔ)架構(gòu)。隨著大數(shù)據(jù)相關(guān)技術(shù)的發(fā)展,Hadoop已發(fā)展成為眾多子項目的集合,包括MapReduce. HDFS. HBase. ZooKeeper.Pig、Hive、Sqoop等子項目。

      HDFS是Hadoop集群中最基礎(chǔ)的部分,提供了大規(guī)模的數(shù)據(jù)存儲能力;MapReduce將對數(shù)據(jù)的處理封裝為Map和Reduce兩個函數(shù),實(shí)現(xiàn)了對大規(guī)模數(shù)據(jù)的處理;HBase (HadoopDatabase)是一個分布式的、面向列數(shù)據(jù)的開源數(shù)據(jù)庫,適合于大規(guī)模非結(jié)構(gòu)化數(shù)據(jù)的存儲

      Zookeeper提供協(xié)同服務(wù),實(shí)現(xiàn)穩(wěn)定服務(wù)和錯誤恢復(fù);Hive作為Hadoop上的數(shù)據(jù)倉庫;Pig是基于Hadoop的大規(guī)模數(shù)據(jù)分析平臺,提供類似SQL的查詢語言Pig Latin; Sqoop主要用來在Hadoop和關(guān)系數(shù)據(jù)庫之間交換數(shù)據(jù)。其中最重要的兩大核心技術(shù)為:HDFS和MapReduce,下文將對這兩大核心技術(shù)做重點(diǎn)介紹。

      2 HDFS技術(shù)

      HDFS (Hadoop Disrributed File System)是Hadoop中的分布式文件系統(tǒng),是對Google的GFS (Google File System)的開源實(shí)現(xiàn)。HDFS的一個最重要的設(shè)計思想是“一次寫入,多次讀取”訪問方式,將大規(guī)模數(shù)據(jù)切分成Block數(shù)據(jù)塊進(jìn)行存儲,簡單的系統(tǒng)設(shè)計使得HDFS只能完成數(shù)據(jù)的寫入和讀取,不能對數(shù)據(jù)進(jìn)行修改,利用大量的廉價硬件設(shè)備實(shí)現(xiàn)并行讀寫和大規(guī)模數(shù)據(jù)存儲。

      HDFS采用主從設(shè)計結(jié)構(gòu),通常一個HDFS集群中包含一個名稱節(jié)點(diǎn)(NameNode)和若干個數(shù)據(jù)節(jié)點(diǎn)( DaraNode)。名稱節(jié)點(diǎn)負(fù)責(zé)管理文件系統(tǒng)的命名空間,它保存了Fslmage和EditLog兩個核心的數(shù)據(jù)結(jié)構(gòu)如圖1所示。

      Fslmage記錄了所有數(shù)據(jù)節(jié)點(diǎn)中文件的元數(shù)據(jù)信息,EditLog作為系統(tǒng)日志文件保存了所有針對文件的各種操作信息。名稱節(jié)點(diǎn)記錄了每個數(shù)據(jù)塊所存儲的數(shù)據(jù)節(jié)點(diǎn)的位置信息,但是每次系統(tǒng)重啟時會重新加載這些信息動態(tài)更改和保存這些信息。Fslmage中的信息會在名稱節(jié)點(diǎn)啟動時將其加載到內(nèi)存中,然后執(zhí)行EditLog中所保存的操作信息使得內(nèi)存中的元數(shù)據(jù)信息一直保持最新狀態(tài)。

      數(shù)據(jù)節(jié)點(diǎn)主要負(fù)責(zé)對數(shù)據(jù)的存儲和讀取,根據(jù)客戶端或名稱節(jié)點(diǎn)的調(diào)度完成對數(shù)據(jù)的存儲和查詢,并定期將自己所保存的數(shù)據(jù)塊的信息發(fā)送給名稱節(jié)點(diǎn)。每個數(shù)據(jù)節(jié)點(diǎn)中的數(shù)據(jù)會被保存在各自節(jié)點(diǎn)的本地Linux文件系統(tǒng)中。

      3 MapReduce技術(shù)

      MapReduce是谷歌公司的核心計算模型,Hadoop框架中的MapReduce是對谷歌公司的MapReduce的開源實(shí)現(xiàn),是為了解決大規(guī)模數(shù)據(jù)的高效處理問題,將運(yùn)行在大規(guī)模集群上的并行計算過程高度地抽象成兩個函數(shù):Map和Reduce。MapReduce將存儲在分布式文件系統(tǒng)中的大規(guī)模數(shù)據(jù)集切分成許多獨(dú)立的分片( split),這些分片可以被多個Map任務(wù)并行處理。MapReduce設(shè)計的一個理念就是“計算向數(shù)據(jù)靠攏”,而不是“數(shù)據(jù)向計算靠攏”,大大減少了網(wǎng)絡(luò)傳輸開銷。

      MapReduce分布式并行編程使程序員只關(guān)注Map和Reduce函數(shù)的實(shí)現(xiàn),而不需要處理分布式存儲、工作調(diào)度、負(fù)載均衡等問題,這些問題均由MapReduce框架進(jìn)行處理,Map和Reduce函數(shù)都是以鍵值對的形式作為輸入,按照一定的映射規(guī)則再通過鍵值對進(jìn)行輸出。

      Map函數(shù)的輸入來自分布式文件系統(tǒng)的文件塊,可以是二進(jìn)制文件也可以是文檔文件,Map函數(shù)將其輸入按照規(guī)則轉(zhuǎn)換為鍵值對,鍵和值的類型是任意的,鍵并不能作為唯一標(biāo)識,一個Map任務(wù)也可以生成多個相同鍵的鍵值對。

      Reduce函數(shù)就是將輸入的具有多個相同鍵的鍵值對以某種方式組合起來,輸出處理后的鍵值對,將輸入結(jié)果合并成一個文件。

      4 結(jié)束語

      大數(shù)據(jù)作為繼云計算、物聯(lián)網(wǎng)之后IT行業(yè)又一顛覆性的技術(shù),備受人們關(guān)注,Hadoop作為存儲處理大規(guī)模分布式系統(tǒng)框架提供了分布式存儲的HDFS和分布式處理的MapReduce,也包括其他的子項目,Hadoop的生態(tài)國會越來越完善,大數(shù)據(jù)技術(shù)必將引領(lǐng)IT行業(yè)走向新的巔峰。

      參考文獻(xiàn)

      [1]林子雨,大數(shù)據(jù)技術(shù)原理與應(yīng)用 概念、存儲、處理、分析與應(yīng)用[M].北京:人民郵電出版社,2016.

      [2]夏靖波,云計算中Hadoop技術(shù)研究與應(yīng)用綜述[J].計算機(jī)科學(xué),2016 (11):43.

      404 Not Found

      404 Not Found


      nginx
      晋宁县| 江阴市| 莆田市| 濮阳县| 吉木萨尔县| 宣恩县| 榆林市| 资溪县| 塔河县| 莫力| 靖边县| 郎溪县| 拜城县| 长沙县| 长乐市| 大港区| 铜陵市| 阜新市| 伊通| 成安县| 百色市| 阿克陶县| 武定县| 华蓥市| 孝义市| 白沙| 九江市| 高陵县| 金昌市| 泰兴市| 乌拉特前旗| 洪洞县| 长丰县| 大洼县| 青海省| 修水县| 阜平县| 凤山县| 连江县| 桐柏县| 磐安县|