W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
對于 MapReduce 作業(yè),HBase 可以用作數(shù)據(jù)源、TableInputFormat 和數(shù)據(jù)接收器、TableOutputFormat 或 MultiTableOutputFormat。編寫讀取或寫入HBase 的 MapReduce作業(yè),建議子類化 TableMapper 或 TableReducer。
如果您運行使用 HBase 作為源或接收器的 MapReduce 作業(yè),則需要在配置中指定源和接收器表和列名稱。
當您從 HBase 讀取時,TableInputFormat 請求 HBase 的區(qū)域列表并制作一張映射,可以是一個 map-per-region 或 mapreduce.job.maps mapreduce.job.maps ,映射到大于區(qū)域數(shù)目的數(shù)字。如果您為每個節(jié)點運行 TaskTracer/NodeManager 和 RegionServer,則映射將在相鄰的 TaskTracker/NodeManager 上運行。在寫入 HBase 時,避免使用 Reduce 步驟并從映射中寫回 HBase 是有意義的。當您的作業(yè)不需要 MapReduce 對映射發(fā)出的數(shù)據(jù)進行排序和排序時,這種方法就可以工作。在插入時,HBase 'sorts',因此除非需要,否則雙重排序(并在您的 MapReduce 集群周圍混洗數(shù)據(jù))沒有意義。如果您不需要 Reduce,則映射可能會發(fā)出在作業(yè)結束時為報告處理的記錄計數(shù),或者將 Reduces 的數(shù)量設置為零并使用 TableOutputFormat。如果運行 Reduce 步驟在你的情況下是有意義的,則通常應使用多個減速器,以便在 HBase 群集上傳播負載。
一個新的 HBase 分區(qū)程序 HRegionPartitioner 可以運行與現(xiàn)有區(qū)域數(shù)量一樣多的 reducers。當您的表格很大時,HRegionPartitioner 是合適的,并且您的上傳不會在完成時大大改變現(xiàn)有區(qū)域的數(shù)量。否則使用默認分區(qū)程序。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: