<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    paulwong

    HBASE讀書筆記

    GET、PUT是ONLINE的操作,MAPREDUCE是OFFLINE的操作


    HDFS寫流程
    客戶端收到要保存文件的請(qǐng)求后,將文件以64M為單位拆成若干份BLOCK,形成一個(gè)列表,即由幾個(gè)BLOCK組成,將這些信息告訴NAME NODE,我要保存這個(gè),NAME NODE算出一個(gè)列表,哪段BLOCK應(yīng)該寫到哪個(gè)DATA NODE,客戶端將第一個(gè)BLOCK傳到第一個(gè)節(jié)點(diǎn)DATA NODE A,通知其保存,同時(shí)讓它通知DATA NODE D和DATA NODE B也保存一份,DATA NODE D收到信息后進(jìn)行了保存,同時(shí)通知DATA NODE B保存一份,DATA NODE B保存完成后則通知客戶端保存完成,客戶端再去向NAME NODE中取下一個(gè)BLOCK要保存的位置,重復(fù)以上的動(dòng)作,直到所有的BLOCK都保存完成。

    HDFS讀流程
    客戶端向NAME NODE請(qǐng)求讀一個(gè)文件,NAME NODE返回這個(gè)文件所構(gòu)成的所有BLOCK的DATA NODE IP及BLOCK ID,客戶端并行的向各DATA NODE發(fā)出請(qǐng)求,要取某個(gè)BLOCK ID的BLOCK,DATA NODE發(fā)回所要的BLOCK給客戶端,客戶端收集到所有的BLOCK后,整合成一個(gè)完整的文件后,此流程結(jié)束。


    MAPREDUCE流程
    輸入數(shù)據(jù) -- 非多線程了,而是多進(jìn)程的挑選數(shù)據(jù),即將輸入數(shù)據(jù)分成多塊,每個(gè)進(jìn)程處理一塊 -- 分組 -- 多進(jìn)程的匯集數(shù)據(jù) -- 輸出

    HBASE表結(jié)構(gòu)
    HBASE中將一個(gè)大表數(shù)據(jù)分成不同的小表,每個(gè)小表叫REGION,存放REGION的服務(wù)器叫REGIONSERVER,一個(gè)REGIONSERVER可以存放多個(gè)REGION。通常REGIONSERVER和DATA NODE是在同一服務(wù)器,以減少NETWORK IO。
    -ROOT-表存放于MASTER SERVER上,記錄了一共有多少個(gè)REGIONSERVER,每個(gè)REGION SERVER上都有一個(gè).META.表,上面記錄了本REGION SERVER放有哪幾個(gè)表的哪幾個(gè)REGION。如果要知道某個(gè)表共有幾個(gè)REGION,就得去所有的REGION SERVER上查.META.表,進(jìn)行匯總才能得知。
    客戶端如果要查ROW009的信息,先去咨詢ZOOPKEEPER,-ROOT-表在哪里,然后問-ROOT-表,哪個(gè).META.知道這個(gè)信息,然后去問.META.表,哪個(gè)REGION有這個(gè)信息,然后去那個(gè)REGION問ROW009的信息,然后那個(gè)REGION返回此信息。


    HBASE MAPREDUCE
    一個(gè)REGION一個(gè)MAP任務(wù),而任務(wù)里的map方法執(zhí)行多少次,則由查詢出來的記錄有多少條,則執(zhí)行多少次。
    REDUCE任務(wù)負(fù)責(zé)向REGION寫數(shù)據(jù),但寫到哪個(gè)REGION則由那個(gè)KEY歸屬哪個(gè)REGION管,則寫到哪個(gè)REGION,有可能REDUCE任務(wù)會(huì)和所有的REGION SERVER交互。


    在HBASE的MAPREDUCE JOB中使用JOIN
    REDUCE-SIDE JOIN
    利用現(xiàn)有的SHUTTLE分組機(jī)制,在REDUCE階段做JOIN,但由于MAP階段數(shù)據(jù)大,可能會(huì)有性能問題。
    MAP-SIDE JOIN
    將數(shù)據(jù)較少的一表讀到一公共文件中,然后在MPA方法中循環(huán)另一表的數(shù)據(jù),再將要的數(shù)據(jù)從公共文件中讀取。這樣可以減少SHUTTLE和SORT的時(shí)間,同時(shí)也不需要REDUCE任務(wù)。

    posted on 2013-02-01 13:55 paulwong 閱讀(479) 評(píng)論(0)  編輯  收藏 所屬分類: 分布式HADOOPHBASE

    主站蜘蛛池模板: 亚洲综合小说久久另类区| 亚洲国产精品无码久久一线| avtt天堂网手机版亚洲| 午夜影院免费观看| 亚洲精品福利视频| 9420免费高清在线视频| 亚洲精品美女久久久久9999| 在线看无码的免费网站| 97se亚洲综合在线| xxxx日本免费| 亚洲午夜在线播放| 日韩在线看片免费人成视频播放| 亚洲日本天堂在线| 亚洲av午夜成人片精品电影| 国产精品免费久久久久影院| 亚洲成a人片在线观看无码专区| 精品一区二区三区无码免费视频| 亚洲精品国产免费| 韩国免费三片在线视频| 九九九精品视频免费| 日本亚洲成高清一区二区三区| 中文字幕亚洲免费无线观看日本| 亚洲最大成人网色香蕉| 国产成人涩涩涩视频在线观看免费| 在线观看国产一区亚洲bd| 中文字幕不卡亚洲| 麻豆国产精品免费视频| 国产成人精品久久亚洲高清不卡| 婷婷综合缴情亚洲狠狠尤物| 免费国产污网站在线观看| 亚洲激情黄色小说| 日韩一区二区在线免费观看| 中文字幕视频免费在线观看 | 久久不见久久见免费影院www日本| 亚洲精品无码久久久久sm| 99久久免费国产香蕉麻豆| 国产AV无码专区亚洲AV琪琪| 久久精品国产亚洲av麻豆| 大学生高清一级毛片免费| 亚欧洲精品在线视频免费观看| 亚洲欧洲精品一区二区三区|