【導(dǎo)讀】連接操作廣泛應(yīng)用于日志分析、聯(lián)機(jī)分析處理及數(shù)據(jù)分析處理等方面。如果提高大數(shù)據(jù)連接計(jì)算速度,則可提高數(shù)據(jù)分析效率和用戶體驗(yàn)度。下表對(duì)現(xiàn)有的MapReduce連接技術(shù)進(jìn)行了分類與對(duì)比。對(duì)于這方面的研究主要集中于兩表。標(biāo)準(zhǔn)重分區(qū)算法由一個(gè)MapReduce作業(yè)來完成連接運(yùn)算。valueintermediate則由用于標(biāo)記數(shù)據(jù)來自哪個(gè)表的標(biāo)簽和記錄值組成。洗過程中,具有相同連接值的數(shù)據(jù)會(huì)被分到同一個(gè)Reducer上。算法在Reducer上需要將數(shù)據(jù)全部裝載到內(nèi)存中,可能會(huì)造成內(nèi)存溢出。及連接速度緩慢和計(jì)算資源分布不均等問題。在Reduce階段,在內(nèi)存中緩存較小的表,另一表以流式方式讀。然而當(dāng)待連接的兩個(gè)表都很大時(shí),廣播算法效率很低。第一個(gè)MapReduce作業(yè)對(duì)于表S的每一分片生成該分片。的算法,相對(duì)簡(jiǎn)單一些。為了減少任務(wù)執(zhí)行時(shí)間,并減小數(shù)據(jù)傾斜帶來的影響,該算法對(duì)Reducer的輸入量及輸出量進(jìn)行了均衡,將矩陣分成面積相等的R個(gè)區(qū)域,每個(gè)區(qū)域都有一個(gè)RegionID。區(qū)域內(nèi)的非等值連接,并生成最終結(jié)果。該算法很好地解決了MapReduce在