欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于MapReduce識(shí)別優(yōu)化數(shù)據(jù)傾斜的方法及系統(tǒng)的制作方法

文檔序號(hào):10612790閱讀:377來(lái)源:國(guó)知局
一種基于MapReduce識(shí)別優(yōu)化數(shù)據(jù)傾斜的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開(kāi)了一種基于MapReduce識(shí)別優(yōu)化數(shù)據(jù)傾斜的方法及系統(tǒng),首先構(gòu)建數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值和數(shù)據(jù)傾斜決策樹(shù)優(yōu)化方案,通過(guò)數(shù)據(jù)傾斜指標(biāo)的實(shí)際值與數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值對(duì)比,自動(dòng)識(shí)別是否存在數(shù)據(jù)傾斜,若存在數(shù)據(jù)傾斜,則量化評(píng)估數(shù)據(jù)傾斜的程度并確定所屬優(yōu)化場(chǎng)景類(lèi)型和選擇合適的決策樹(shù)優(yōu)化方案進(jìn)行優(yōu)化,最后對(duì)決策樹(shù)優(yōu)化方案進(jìn)行修改和擴(kuò)展。通過(guò)本方法解決了傳統(tǒng)方法沒(méi)有識(shí)別數(shù)據(jù)傾斜的能力,優(yōu)化方案單一,人工判斷效率低的問(wèn)題。
【專利說(shuō)明】
一種基于MapReduce識(shí)別優(yōu)化數(shù)據(jù)傾斜的方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,尤其涉及一種基于MapReduce識(shí)別優(yōu)化數(shù)據(jù)傾斜的方法及系統(tǒng)?!颈尘凹夹g(shù)】
[0002]MapReduce作為一種海量數(shù)據(jù)處理的并行編程模型,目前已經(jīng)廣泛應(yīng)用在網(wǎng)頁(yè)索弓丨、數(shù)據(jù)挖掘、科學(xué)模擬以及云計(jì)算平臺(tái)中。MapReduce的系統(tǒng)架構(gòu)具有很好的擴(kuò)展性和良好的容錯(cuò)性。MapReduce框架很適合處理文檔分析、倒排索引建立等類(lèi)型的應(yīng)用,然而在列存儲(chǔ)、索引建立、連接計(jì)算、迭代計(jì)算、科學(xué)計(jì)算及調(diào)度算法方面性能需要進(jìn)一步優(yōu)化。在用 MapRreduce進(jìn)行數(shù)據(jù)的查詢和處理時(shí),經(jīng)常會(huì)遇到數(shù)據(jù)傾斜的問(wèn)題。數(shù)據(jù)傾斜即因?yàn)閿?shù)據(jù)分布不均,導(dǎo)致某些作業(yè)完成的時(shí)間遠(yuǎn)高于其他作業(yè),從而造成總體程序運(yùn)行的資源消耗和效率低下。
[0003]數(shù)據(jù)傾斜的深層原因來(lái)自于MapReduce的框架設(shè)計(jì),MapReduce會(huì)將map端數(shù)據(jù)進(jìn)行分區(qū),分區(qū)后的數(shù)據(jù)會(huì)分給對(duì)應(yīng)的reduce進(jìn)行處理。MapReduce中的默認(rèn)分區(qū)方式是 hash分區(qū),這種分區(qū)方法會(huì)首先將key hash化,再對(duì)reduce的個(gè)數(shù)取模,所以它會(huì)造成相同的key都會(huì)分到同一個(gè)reduce上。如果某個(gè)key的數(shù)量遠(yuǎn)遠(yuǎn)高于其他key,這個(gè)reduce 的負(fù)載就會(huì)高于其他reduce,造成數(shù)據(jù)傾斜。所以針對(duì)數(shù)據(jù)傾斜的解決思想一般是采取措施使傾斜數(shù)較均衡的分配到reduce端或是不經(jīng)過(guò)reduce階段。
[0004]目前針對(duì)數(shù)據(jù)傾斜解決方式主要有以下幾種:第一種是判斷表的大小,若是大小表連接,則將小表放入內(nèi)存進(jìn)行map join ;第二種是調(diào)整MapReduce中的一些優(yōu)化參數(shù);第三種是調(diào)整map個(gè)數(shù)或reduce個(gè)數(shù)。
[0005]以上幾種方法存在以下問(wèn)題:一是絕大部分針對(duì)數(shù)據(jù)傾斜的方案只有如何減輕或處理數(shù)據(jù)傾斜,而沒(méi)有提到如何去識(shí)別數(shù)據(jù)傾斜及了解其傾斜的程度;二是目前的優(yōu)化方案一般只有針對(duì)某種場(chǎng)景的單一方法,沒(méi)有針對(duì)多場(chǎng)景的整體方案;三是針對(duì)數(shù)據(jù)傾斜的優(yōu)化方案很多都是選擇基于人工判斷,沒(méi)有形成自動(dòng)化判斷,效率低。
【發(fā)明內(nèi)容】

[0006]針對(duì)上述技術(shù)問(wèn)題,本發(fā)明提供了一種基于MapReduce識(shí)別優(yōu)化數(shù)據(jù)傾斜的方法及系統(tǒng),該方法首先構(gòu)建數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值和數(shù)據(jù)傾斜決策樹(shù)優(yōu)化方案,通過(guò)數(shù)據(jù)傾斜指標(biāo)的實(shí)際值與數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值對(duì)比,自動(dòng)識(shí)別是否存在數(shù)據(jù)傾斜,若存在數(shù)據(jù)傾斜,則量化評(píng)估數(shù)據(jù)傾斜的程度并確定所屬優(yōu)化場(chǎng)景類(lèi)型和選擇合適的決策樹(shù)優(yōu)化方案進(jìn)行優(yōu)化,最后對(duì)決策樹(shù)優(yōu)化方案進(jìn)行修改和擴(kuò)展。對(duì)于以往的識(shí)別優(yōu)化數(shù)據(jù)傾斜的發(fā)明來(lái)說(shuō),本發(fā)明解決了目前的優(yōu)化方案只針對(duì)某種場(chǎng)景,方法單一的問(wèn)題,并且避免了傳統(tǒng)的識(shí)別數(shù)據(jù)傾斜都是基于人工判斷,效率低的問(wèn)題。
[0007]—種基于MapReduce識(shí)別優(yōu)化數(shù)據(jù)傾斜的方法,包括:構(gòu)建數(shù)據(jù)傾斜指標(biāo)和數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值;根據(jù)先驗(yàn)知識(shí)和數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值構(gòu)建數(shù)據(jù)傾斜決策樹(shù)優(yōu)化方案;根據(jù)數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值和數(shù)據(jù)傾斜指標(biāo)的實(shí)際值,自動(dòng)識(shí)別是否存在數(shù)據(jù)傾斜; 若存在數(shù)據(jù)傾斜,則根據(jù)數(shù)據(jù)傾斜指標(biāo)的實(shí)際值確定所屬優(yōu)化場(chǎng)景類(lèi)型;根據(jù)優(yōu)化場(chǎng)景類(lèi)型選擇合適的決策樹(shù)優(yōu)化方案進(jìn)行優(yōu)化;更新決策樹(shù)優(yōu)化方案。
[0008]進(jìn)一步的,所述數(shù)據(jù)傾斜指標(biāo)包括數(shù)據(jù)表大小、傾斜key的閾值、傾斜key的個(gè)數(shù)、 數(shù)據(jù)傾斜率、查詢操作關(guān)鍵字。
[0009]進(jìn)一步的,所述自動(dòng)識(shí)別是否存在數(shù)據(jù)傾斜為獲取每個(gè)key的頻數(shù),取key頻數(shù)最高的N個(gè),如果key的頻數(shù)大于傾斜key的閾值,則認(rèn)為所述key傾斜,記錄所述傾斜的key 并記錄傾斜key的個(gè)數(shù),計(jì)算數(shù)據(jù)傾斜率。
[0010]進(jìn)一步的,所述根據(jù)數(shù)據(jù)傾斜指標(biāo)的實(shí)際值確定所屬優(yōu)化場(chǎng)景類(lèi)型,包括:(1)若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值包含null,則所屬空值連接類(lèi)型;(2)若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值中數(shù)據(jù)表大小小于等于l〇〇m,則所屬大小表連接類(lèi)型;(3)若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值中數(shù)據(jù)表大小大于等于l〇〇m小于等于500m,則所屬半連接類(lèi)型;(4)若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值中數(shù)據(jù)表大小大于500m,則所屬大表連接類(lèi)型;(5)若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值包含查詢操作關(guān)鍵字,則所屬group by類(lèi)型。
[0011]進(jìn)一步的,所述根據(jù)優(yōu)化場(chǎng)景類(lèi)型選擇合適的決策樹(shù)優(yōu)化方案進(jìn)行優(yōu)化,包括:空值連接類(lèi)型:將空值字段轉(zhuǎn)化為隨機(jī)數(shù),使其均勻分布到reduce端上;大小表連接類(lèi)型: 將小表放入內(nèi)存中,在map端完成連接,不經(jīng)過(guò)reduce端;半連接類(lèi)型:過(guò)濾掉表中多余的 key,減少表的體積;大表連接類(lèi)型:傾斜數(shù)據(jù)和非傾斜數(shù)據(jù)分開(kāi)分配到適合的reduce端上,將處理后的數(shù)據(jù)結(jié)合起來(lái);group by類(lèi)型:map端數(shù)據(jù)隨機(jī)分配到reduce端。
[0012]—種基于MapReduce識(shí)別優(yōu)化數(shù)據(jù)傾斜的系統(tǒng),包括:第一構(gòu)建模塊,用于構(gòu)建數(shù)據(jù)傾斜指標(biāo)和數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值;第二構(gòu)建模塊,用于根據(jù)先驗(yàn)知識(shí)和數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值構(gòu)建數(shù)據(jù)傾斜決策樹(shù)優(yōu)化方案;識(shí)別模塊,用于根據(jù)數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值和數(shù)據(jù)傾斜指標(biāo)的實(shí)際值,自動(dòng)識(shí)別是否存在數(shù)據(jù)傾斜;選擇場(chǎng)景模塊,用于若存在數(shù)據(jù)傾斜,則根據(jù)數(shù)據(jù)傾斜指標(biāo)的實(shí)際值確定所屬優(yōu)化場(chǎng)景類(lèi)型;優(yōu)化模塊,用于根據(jù)優(yōu)化場(chǎng)景類(lèi)型選擇合適的決策樹(shù)優(yōu)化方案進(jìn)行優(yōu)化;更新模塊,用于更新決策樹(shù)優(yōu)化方案。
[0013]進(jìn)一步的,所述第一構(gòu)建模塊中數(shù)據(jù)傾斜指標(biāo)包括數(shù)據(jù)表大小、傾斜key的閾值、 傾斜key的個(gè)數(shù)、數(shù)據(jù)傾斜率、查詢操作關(guān)鍵字。
[0014]進(jìn)一步的,所述識(shí)別模塊中自動(dòng)識(shí)別是否存在數(shù)據(jù)傾斜為獲取每個(gè)key的頻數(shù), 取key頻數(shù)最高的N個(gè),如果key的頻數(shù)大于傾斜key的閾值,則認(rèn)為所述key傾斜,記錄所述傾斜的key并記錄傾斜key的個(gè)數(shù),計(jì)算數(shù)據(jù)傾斜率。
[0015] 進(jìn)一步的,所述選擇場(chǎng)景模塊中根據(jù)數(shù)據(jù)傾斜指標(biāo)的實(shí)際值確定所屬優(yōu)化場(chǎng)景類(lèi)型,包括:(1)若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值包含nul 1,則所屬空值連接類(lèi)型;(2 )若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值中數(shù)據(jù)表大小小于等于l〇〇m,則所屬大小表連接類(lèi)型;(3)若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值中數(shù)據(jù)表大小大于等于l〇〇m小于等于500m,則所屬半連接類(lèi)型;(4)若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值中數(shù)據(jù)表大小大于500m,則所屬大表連接類(lèi)型;(5)若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值包含查詢操作關(guān)鍵字,則所屬group by類(lèi)型。
[0016] 進(jìn)一步的,所述優(yōu)化模塊中根據(jù)優(yōu)化場(chǎng)景類(lèi)型選擇合適的決策樹(shù)優(yōu)化方案進(jìn)行優(yōu)化,包括:空值連接類(lèi)型:將空值字段轉(zhuǎn)化為隨機(jī)數(shù),使其均勻分布到reduce端上;大小表連接類(lèi)型:將小表放入內(nèi)存中,在map端完成連接,不經(jīng)過(guò)reduce端;半連接類(lèi)型:過(guò)濾掉表中多余的key,減少表的體積;大表連接類(lèi)型:傾斜數(shù)據(jù)和非傾斜數(shù)據(jù)分開(kāi)分配到適合的 reduce端上,將處理后的數(shù)據(jù)結(jié)合起來(lái);group by類(lèi)型:map端數(shù)據(jù)隨機(jī)分配到reduce 端。
[0017] 本發(fā)明涉及一種基于MapReduce識(shí)別優(yōu)化數(shù)據(jù)傾斜的方法,本方法不僅包含數(shù)據(jù)傾斜的識(shí)別而且包含數(shù)據(jù)傾斜的優(yōu)化;構(gòu)建數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值,根據(jù)先驗(yàn)知識(shí)和數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值構(gòu)建數(shù)據(jù)傾斜決策樹(shù)優(yōu)化方案,根據(jù)數(shù)據(jù)傾斜指標(biāo)的實(shí)際值與數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值做對(duì)比,自動(dòng)判斷識(shí)別出數(shù)據(jù)傾斜,并評(píng)估數(shù)據(jù)傾斜的程度,根據(jù)數(shù)據(jù)傾斜的具體情況確定所屬優(yōu)化場(chǎng)景類(lèi)型,選擇合適的決策樹(shù)優(yōu)化方案進(jìn)行優(yōu)化;克服了以往方法沒(méi)有把識(shí)別與優(yōu)化結(jié)合在一起的缺陷,以及優(yōu)化方案單一、效率低的問(wèn)題?!靖綀D說(shuō)明】
[0018]為了更清楚地說(shuō)明本發(fā)明的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0019]圖1為本發(fā)明提供的一種基于MapReduce識(shí)別優(yōu)化數(shù)據(jù)傾斜的方法實(shí)施例流程圖;圖2為本發(fā)明提供的一種基于MapReduce識(shí)別優(yōu)化數(shù)據(jù)傾斜的系統(tǒng)實(shí)施例結(jié)構(gòu)圖。 【具體實(shí)施方式】
[0020] 本發(fā)明給出了一種基于MapReduce識(shí)別優(yōu)化數(shù)據(jù)傾斜的方法及系統(tǒng),為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明中技術(shù)方案作進(jìn)一步詳細(xì)的說(shuō)明:本發(fā)明首先提供了一種基于MapReduce識(shí)別優(yōu)化數(shù)據(jù)傾斜的方法,如圖1所示,包括: S101構(gòu)建數(shù)據(jù)傾斜指標(biāo)和數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值;所述數(shù)據(jù)傾斜指標(biāo)包括數(shù)據(jù)表大小、傾斜key的閾值、傾斜key的個(gè)數(shù)、數(shù)據(jù)傾斜率、查詢操作關(guān)鍵字;傾斜key的閥值設(shè)為100m,數(shù)據(jù)表的大小界定值為100m和500m ;S102根據(jù)先驗(yàn)知識(shí)和數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值構(gòu)建數(shù)據(jù)傾斜決策樹(shù)優(yōu)化方案;決策樹(shù)優(yōu)化方案包括:空值連接類(lèi)型:將空值字段轉(zhuǎn)化為隨機(jī)數(shù),使其均勻分布到reduce端上;大小表連接類(lèi)型:將小表放入內(nèi)存中,在map端完成連接,不經(jīng)過(guò)reduce端; 半連接類(lèi)型:過(guò)濾掉表中多余的key,減少表的體積;大表連接類(lèi)型:傾斜數(shù)據(jù)和非傾斜數(shù)據(jù)分開(kāi)分配到適合的reduce端上,將處理后的數(shù)據(jù)結(jié)合起來(lái);group by類(lèi)型:map端數(shù)據(jù)隨機(jī)分配到reduce端;S103根據(jù)數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值和數(shù)據(jù)傾斜指標(biāo)的實(shí)際值,自動(dòng)識(shí)別是否存在數(shù)據(jù)傾斜;所述自動(dòng)識(shí)別是否存在數(shù)據(jù)傾斜為獲取每個(gè)key的頻數(shù),取key頻數(shù)最高的N個(gè),如果 key的頻數(shù)大于傾斜key的閾值,則認(rèn)為所述key傾斜,記錄所述傾斜的key并記錄傾斜key 的個(gè)數(shù),計(jì)算數(shù)據(jù)傾斜率;N取10到20之間的整數(shù),數(shù)據(jù)傾斜率越大數(shù)據(jù)傾斜越嚴(yán)重;S104若存在數(shù)據(jù)傾斜,則根據(jù)數(shù)據(jù)傾斜指標(biāo)的實(shí)際值確定所屬優(yōu)化場(chǎng)景類(lèi)型;優(yōu)化場(chǎng)景類(lèi)型包括:(1)若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值包含null,則所屬空值連接類(lèi)型; (2)若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值中數(shù)據(jù)表大小小于等于100m,則所屬大小表連接類(lèi)型;(3) 若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值中數(shù)據(jù)表大小大于等于l〇〇m小于等于500m,則所屬半連接類(lèi)型; (4)若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值中數(shù)據(jù)表大小大于500m,則所屬大表連接類(lèi)型;(5)若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值包含查詢操作關(guān)鍵字,則所屬group by類(lèi)型;S105根據(jù)優(yōu)化場(chǎng)景類(lèi)型選擇合適的決策樹(shù)優(yōu)化方案進(jìn)行優(yōu)化;通過(guò)構(gòu)建決策樹(shù)優(yōu)化方案將多種數(shù)據(jù)傾斜類(lèi)型進(jìn)行聯(lián)系和區(qū)分,根據(jù)數(shù)據(jù)傾斜指標(biāo)的實(shí)際值,自動(dòng)將數(shù)據(jù)傾斜的優(yōu)化場(chǎng)景進(jìn)行歸類(lèi),并自動(dòng)分類(lèi)優(yōu)化方案;S106更新決策樹(shù)優(yōu)化方案;提供決策樹(shù)優(yōu)化方案的程序接口以進(jìn)行先驗(yàn)知識(shí)的修改和補(bǔ)充。
[0021]本發(fā)明還提供了一種基于MapReduce識(shí)別優(yōu)化數(shù)據(jù)傾斜的系統(tǒng),如圖2所示,包括:第一構(gòu)建模塊201,用于構(gòu)建數(shù)據(jù)傾斜指標(biāo)和數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值;第二構(gòu)建模塊202,用于根據(jù)先驗(yàn)知識(shí)和數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值構(gòu)建數(shù)據(jù)傾斜決策樹(shù)優(yōu)化方案;識(shí)別模塊203,用于根據(jù)數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值和數(shù)據(jù)傾斜指標(biāo)的實(shí)際值,自動(dòng)識(shí)別是否存在數(shù)據(jù)傾斜;選擇場(chǎng)景模塊204,用于若存在數(shù)據(jù)傾斜,則根據(jù)數(shù)據(jù)傾斜指標(biāo)的實(shí)際值確定所屬優(yōu)化場(chǎng)景類(lèi)型;優(yōu)化模塊205,用于根據(jù)優(yōu)化場(chǎng)景類(lèi)型選擇合適的決策樹(shù)優(yōu)化方案進(jìn)行優(yōu)化;更新模塊206,用于更新決策樹(shù)優(yōu)化方案。
[0022]本說(shuō)明書(shū)中方法的實(shí)施例采用遞進(jìn)的方式描述,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
[0023]綜上所述,本發(fā)明涉及一種基于MapReduce識(shí)別優(yōu)化數(shù)據(jù)傾斜的方法。本方法首先構(gòu)建數(shù)據(jù)傾斜指標(biāo)、數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值和數(shù)據(jù)傾斜決策樹(shù)優(yōu)化方案,通過(guò)數(shù)據(jù)傾斜指標(biāo)的實(shí)際值與數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值對(duì)比自動(dòng)識(shí)別出數(shù)據(jù)傾斜,并且估算出數(shù)據(jù)傾斜的程度,將多種優(yōu)化場(chǎng)景進(jìn)行聯(lián)系與區(qū)分,根據(jù)數(shù)據(jù)傾斜的實(shí)際值選擇優(yōu)化場(chǎng)景類(lèi)型,并給出優(yōu)化方案,及時(shí)更新優(yōu)化方案。本發(fā)明是一種一體化的識(shí)別優(yōu)化方法,可以達(dá)到事先識(shí)別事后優(yōu)化的功能,能夠靈活的選擇適合當(dāng)前數(shù)據(jù)傾斜的優(yōu)化方案,并且進(jìn)一步對(duì)優(yōu)化方案進(jìn)行更新。
[0024]以上實(shí)施例用以說(shuō)明而非限制本發(fā)明的技術(shù)方案。不脫離本發(fā)明精神和范圍的任何修改或局部替換,均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
【主權(quán)項(xiàng)】
1.一種基于MapReduce識(shí)別優(yōu)化數(shù)據(jù)傾斜的方法,其特征在于:構(gòu)建數(shù)據(jù)傾斜指標(biāo)和數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值;根據(jù)先驗(yàn)知識(shí)和數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值構(gòu)建數(shù)據(jù)傾斜決策樹(shù)優(yōu)化方案;根據(jù)數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值和數(shù)據(jù)傾斜指標(biāo)的實(shí)際值,自動(dòng)識(shí)別是否存在數(shù)據(jù)傾斜; 若存在數(shù)據(jù)傾斜,則根據(jù)數(shù)據(jù)傾斜指標(biāo)的實(shí)際值確定所屬優(yōu)化場(chǎng)景類(lèi)型;根據(jù)優(yōu)化場(chǎng)景類(lèi)型選擇合適的決策樹(shù)優(yōu)化方案進(jìn)行優(yōu)化;更新決策樹(shù)優(yōu)化方案。2.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)傾斜指標(biāo)包括數(shù)據(jù)表大小、傾斜 key的閾值、傾斜key的個(gè)數(shù)、數(shù)據(jù)傾斜率、查詢操作關(guān)鍵字。3.如權(quán)利要求2所述的方法,其特征在于,所述自動(dòng)識(shí)別是否存在數(shù)據(jù)傾斜為獲取每 個(gè)key的頻數(shù),取key頻數(shù)最高的N個(gè),如果key的頻數(shù)大于傾斜key的閾值,則認(rèn)為所述 key傾斜,記錄所述傾斜的key并記錄傾斜key的個(gè)數(shù),計(jì)算數(shù)據(jù)傾斜率。4.如權(quán)利要求2所述的方法,其特征在于,所述根據(jù)數(shù)據(jù)傾斜指標(biāo)的實(shí)際值確定所屬 優(yōu)化場(chǎng)景類(lèi)型,包括:(1)若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值包含nul 1,則所屬空值連接類(lèi)型;(2 )若 數(shù)據(jù)傾斜指標(biāo)的實(shí)際值中數(shù)據(jù)表大小小于等于l〇〇m,則所屬大小表連接類(lèi)型;(3)若數(shù)據(jù) 傾斜指標(biāo)的實(shí)際值中數(shù)據(jù)表大小大于等于l〇〇m小于等于500m,則所屬半連接類(lèi)型;(4)若 數(shù)據(jù)傾斜指標(biāo)的實(shí)際值中數(shù)據(jù)表大小大于500m,則所屬大表連接類(lèi)型;(5)若數(shù)據(jù)傾斜指 標(biāo)的實(shí)際值包含查詢操作關(guān)鍵字,則所屬group by類(lèi)型。5.如權(quán)利要求4所述的方法,其特征在于,所述根據(jù)優(yōu)化場(chǎng)景類(lèi)型選擇合適的決策 樹(shù)優(yōu)化方案進(jìn)行優(yōu)化,包括:空值連接類(lèi)型:將空值字段轉(zhuǎn)化為隨機(jī)數(shù),使其均勻分布到 reduce端上;大小表連接類(lèi)型:將小表放入內(nèi)存中,在map端完成連接,不經(jīng)過(guò)reduce端; 半連接類(lèi)型:過(guò)濾掉表中多余的key,減少表的體積;大表連接類(lèi)型:傾斜數(shù)據(jù)和非傾斜數(shù) 據(jù)分開(kāi)分配到適合的reduce端上,將處理后的數(shù)據(jù)結(jié)合起來(lái);group by類(lèi)型:map端數(shù)據(jù) 隨機(jī)分配到reduce端。6.—種基于MapReduce識(shí)別優(yōu)化數(shù)據(jù)傾斜的系統(tǒng),其特征在于:第一構(gòu)建模塊,用于構(gòu)建數(shù)據(jù)傾斜指標(biāo)和數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值;第二構(gòu)建模塊,用于根據(jù)先驗(yàn)知識(shí)和數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值構(gòu)建數(shù)據(jù)傾斜決策樹(shù)優(yōu)化 方案;識(shí)別模塊,用于根據(jù)數(shù)據(jù)傾斜指標(biāo)的標(biāo)準(zhǔn)值和數(shù)據(jù)傾斜指標(biāo)的實(shí)際值,自動(dòng)識(shí)別是否 存在數(shù)據(jù)傾斜;選擇場(chǎng)景模塊,用于若存在數(shù)據(jù)傾斜,則根據(jù)數(shù)據(jù)傾斜指標(biāo)的實(shí)際值確定所屬優(yōu)化場(chǎng)景類(lèi)型;優(yōu)化模塊,用于根據(jù)優(yōu)化場(chǎng)景類(lèi)型選擇合適的決策樹(shù)優(yōu)化方案進(jìn)行優(yōu)化;更新模塊,用于更新決策樹(shù)優(yōu)化方案。7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述第一構(gòu)建模塊中數(shù)據(jù)傾斜指標(biāo)包括數(shù) 據(jù)表大小、傾斜key的閾值、傾斜key的個(gè)數(shù)、數(shù)據(jù)傾斜率、查詢操作關(guān)鍵字。8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述識(shí)別模塊中自動(dòng)識(shí)別是否存在數(shù)據(jù)傾 斜為獲取每個(gè)key的頻數(shù),取key頻數(shù)最高的N個(gè),如果key的頻數(shù)大于傾斜key的閾值, 則認(rèn)為所述key傾斜,記錄所述傾斜的key并記錄傾斜key的個(gè)數(shù),計(jì)算數(shù)據(jù)傾斜率。9.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述選擇場(chǎng)景模塊中根據(jù)數(shù)據(jù)傾斜指標(biāo)的 實(shí)際值確定所屬優(yōu)化場(chǎng)景類(lèi)型,包括:(1)若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值包含null,則所屬空 值連接類(lèi)型;(2)若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值中數(shù)據(jù)表大小小于等于100m,則所屬大小表連 接類(lèi)型;(3)若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值中數(shù)據(jù)表大小大于等于100m小于等于500m,則所屬 半連接類(lèi)型;(4)若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值中數(shù)據(jù)表大小大于500m,則所屬大表連接類(lèi)型; (5)若數(shù)據(jù)傾斜指標(biāo)的實(shí)際值包含查詢操作關(guān)鍵字,則所屬group by類(lèi)型。10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述優(yōu)化模塊中根據(jù)優(yōu)化場(chǎng)景類(lèi)型選擇 合適的決策樹(shù)優(yōu)化方案進(jìn)行優(yōu)化,包括:空值連接類(lèi)型:將空值字段轉(zhuǎn)化為隨機(jī)數(shù),使其均 勾分布到:reduce端上;大小表連接類(lèi)型:將小表放入內(nèi)存中,在map端完成連接,不經(jīng)過(guò) reduce端;半連接類(lèi)型:過(guò)濾掉表中多余的key,減少表的體積;大表連接類(lèi)型:傾斜數(shù)據(jù) 和非傾斜數(shù)據(jù)分開(kāi)分配到適合的reduce端上,將處理后的數(shù)據(jù)結(jié)合起來(lái);group by類(lèi)型: map端數(shù)據(jù)隨機(jī)分配到reduce端。
【文檔編號(hào)】G06F17/30GK105975463SQ201510619074
【公開(kāi)日】2016年9月28日
【申請(qǐng)日】2015年9月25日
【發(fā)明人】鄒艷梅, 潘宣辰
【申請(qǐng)人】武漢安天信息技術(shù)有限責(zé)任公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
临沂市| 新乡县| 耿马| 新营市| 梁平县| 莲花县| 新宾| 渑池县| 洮南市| 乌鲁木齐市| 綦江县| 大城县| 姚安县| 高台县| 黔西县| 阿拉善左旗| 砀山县| 乌拉特后旗| 横山县| 红安县| 永登县| 星座| 南召县| 繁昌县| 抚州市| 卓尼县| 仁布县| 万年县| 九台市| 宁南县| 星座| 溆浦县| 美姑县| 西贡区| 瓮安县| 南开区| 邻水| 天峻县| 海宁市| 昌黎县| 鹤壁市|