亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

自主學習優(yōu)化MapReduce處理數(shù)據(jù)的方法和裝置的制造方法

文檔序號:10655203閱讀:231來源:國知局
自主學習優(yōu)化MapReduce處理數(shù)據(jù)的方法和裝置的制造方法
【專利摘要】本發(fā)明揭示了一種自主學習優(yōu)化MapReduce處理數(shù)據(jù)的方法和裝置,其中方法包括:在一作業(yè)中,對reduce計算前的數(shù)據(jù)按照預設(shè)的方式取樣,并將取得的取樣鍵形成學習文件存儲到目錄為其對應的作業(yè)標簽信息的學習文件夾中;在后續(xù)作業(yè)中,根據(jù)其作業(yè)標簽信息查找對應的學習文件夾,如果有,則直接調(diào)用學習文件夾中的處理結(jié)果來優(yōu)化本次處理;如果沒有,則形成新的學習文件并存儲。本發(fā)明通過獲取reduce計算前的數(shù)據(jù)的取樣鍵進行取樣學習,然后對后續(xù)作業(yè)的數(shù)據(jù)通過作業(yè)標簽判斷是否由與其對應的學習文件,從而確定是否調(diào)用學習文件的處理結(jié)果使用,學習方法簡單,可快速、高效地重復處理類似數(shù)據(jù)的工作。
【專利說明】
自主學習優(yōu)化MapReduce處理數(shù)據(jù)的方法和裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及到MapReduce處理數(shù)據(jù)的計時領(lǐng)域,特別是設(shè)及到一種自主學習優(yōu)化 MapReduce處理數(shù)據(jù)的方法和裝置。
【背景技術(shù)】
[0002] 在大數(shù)據(jù)的實際使用場景中有很多應用會有相似度非常高的數(shù)據(jù),而且進行重復 的統(tǒng)計、分析和計算等工作,如果通過對一些歷史的數(shù)據(jù)處理信息進行統(tǒng)計與分析,其結(jié)果 對后續(xù)重復處理類似數(shù)據(jù)的工作是有價值與提高作用的。

【發(fā)明內(nèi)容】

[0003] 本發(fā)明的主要目的為提供一種可W利用處理過的相識度高的數(shù)據(jù)的處理結(jié)果的 自主學習優(yōu)化MapReduce處理數(shù)據(jù)的方法和裝置。
[0004] 為了實現(xiàn)上述發(fā)明目的,本發(fā)明提出一種自主學習優(yōu)化MapReduce處理數(shù)據(jù)的方 法,包括:
[0005] 在一作業(yè)中,對reduce計算前的數(shù)據(jù)按照預設(shè)的方式取樣,并將取得的取樣鍵形 成學習文件存儲到目錄為其對應的作業(yè)標簽信息的學習文件夾中;
[0006] 在后續(xù)作業(yè)中,根據(jù)其作業(yè)標簽信息查找對應的學習文件夾,如果有,則直接調(diào)用 學習文件夾中的處理結(jié)果來優(yōu)化本次處理;如果沒有,則形成新的學習文件并存儲。
[0007] 進一步地,所述在一作業(yè)中,對reduce計算前的數(shù)據(jù)按照預設(shè)的方式取樣,并將取 得的取樣鍵形成學習文件存儲到目錄為其對應的作業(yè)標簽信息的學習文件夾中的步驟,包 括:
[000引每間隔指定數(shù)目的鍵值對獲取一個取樣鍵;或者,
[0009] 每間隔指定數(shù)目的字節(jié)獲取一個取樣鍵。
[0010] 進一步地,所述學習文件夾的目錄為:
[0011] 簽名模板的值通過指定計算方式計算出的簽名值。
[0012] 進一步地,所述簽名值為簽名模板的值進行哈希計算出的值。
[0013] 進一步地,所述每間隔指定數(shù)目的鍵值對獲取一個取樣鍵;或者,每間隔指定數(shù)目 的字節(jié)獲取一個取樣鍵的步驟,包括:
[0014] 根據(jù)數(shù)據(jù)變形的情況,自適應選擇所述間隔指定數(shù)目。
[0015] 本發(fā)明還提供一種自主學習優(yōu)化MapReduce處理數(shù)據(jù)的裝置,包括:
[0016] 取樣存儲單元,用于在一作業(yè)中,對reduce計算前的數(shù)據(jù)按照預設(shè)的方式取樣,并 將取得的取樣鍵形成學習文件存儲到目錄為其對應的作業(yè)標簽信息的學習文件夾中;
[0017] 選擇單元,用于在后續(xù)作業(yè)中,根據(jù)其作業(yè)標簽信息查找對應的學習文件夾,如果 有,則直接調(diào)用學習文件夾中的處理結(jié)果來優(yōu)化本次處理;如果沒有,則形成新的學習文件 并存儲。
[0018] 進一步地,所述取樣存儲單元,包括:
[0019] 第一采樣模塊,用于每間隔指定數(shù)目的鍵值對獲取一個取樣鍵;或者,
[0020] 第二采樣模塊,用于每間隔指定數(shù)目的字節(jié)獲取一個取樣鍵。
[0021] 進一步地,所述學習文件夾的目錄為:
[0022] 簽名模板的值通過指定計算方式計算出的簽名值。
[0023] 進一步地,所述取樣存儲單元,包括:
[0024] 哈希計算模塊,用于簽名值為簽名模板的值進行哈希計算出的值。
[0025] 進一步地,所述第一采樣模塊;或者,第二采樣模塊包括:
[0026] 自適應子模塊,用于根據(jù)數(shù)據(jù)變形的情況,自適應采樣策略。
[0027] 本發(fā)明的自主學習優(yōu)化MapReduce處理數(shù)據(jù)的方法和裝置,通過獲取reduce計算 前的數(shù)據(jù)的取樣鍵進行取樣學習,然后對后續(xù)作業(yè)的數(shù)據(jù)通過作業(yè)標簽判斷是否由與其對 應的學習文件,從而確定是否調(diào)用學習文件的處理結(jié)果使用,學習方法簡單,可快速、高效 地重復處理類似數(shù)據(jù)的工作。
【附圖說明】
[00%]圖1為本發(fā)明一實施例的自主學習優(yōu)化MapReduce處理數(shù)據(jù)的方法的流程示意圖;
[0029] 圖2為本發(fā)明一實施例的值用鍵與偏移量的方式在數(shù)據(jù)集合中表示的示意圖;
[0030] 圖3為本發(fā)明一實施例的Map輸出的對數(shù)據(jù)分割的示意圖;
[0031] 圖4為本發(fā)明一實施例的自主學習優(yōu)化MapReduce處理數(shù)據(jù)的裝置的結(jié)構(gòu)示意框 圖;
[0032] 圖5為本發(fā)明一實施例的取樣存儲單元的結(jié)構(gòu)示意框圖。
[0033] 本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。
【具體實施方式】
[0034] 應當理解,此處所描述的具體實施例僅僅用W解釋本發(fā)明,并不用于限定本發(fā)明。
[0035] 參照圖1,本發(fā)明實施例提供一種自主學習優(yōu)化MapReduce處理數(shù)據(jù)的方法,包括 步驟:
[0036] S1、在一作業(yè)中,對reduce計算前的數(shù)據(jù)按照預設(shè)的方式取樣,并將取得的取樣鍵 形成學習文件存儲到目錄為其對應的作業(yè)標簽信息的學習文件夾中;
[0037] S2、在后續(xù)作業(yè)中,根據(jù)其作業(yè)標簽信息查找對應的學習文件夾,如果有,則直接 調(diào)用學習文件夾中的處理結(jié)果來優(yōu)化本次處理;如果沒有,則形成新的學習文件并存儲。
[0038] 如上述步驟Sl所述,就是對reduce計算前的數(shù)據(jù)進行取樣,其中,reduce計算前的 數(shù)據(jù)包括多個鍵值對,一個鍵值對其實就是一個鍵化ey)值(value)。記下當下鍵值對的鍵 與值,由于數(shù)據(jù)本身是有序的,所W取樣后的鍵也是有序的。為了方便查找到對應的取樣信 息,會將取樣信息存儲到目錄為帶有作業(yè)標簽信息的學習文件中。本實施例中,一個作業(yè)中 可能包含多個reduce計算,因此會生成多個對應的學習文件,多個學習文件存儲在目錄為 對應的作業(yè)標簽信息的學習文件夾中,不同的作業(yè)具有不同的作業(yè)標簽信息。
[0039] 如上述步驟S2所述,可W快速的處理與之前相同作業(yè)的任務,提高工作效率。
[0040] 本實施例中,上述在一作業(yè)中,對reduce計算前的數(shù)據(jù)按照預設(shè)的方式取樣,并將 取得的取樣鍵形成學習文件存儲到目錄為其對應的作業(yè)標簽信息的學習文件夾中的步驟 SI,包括:
[0041] Sll、每間隔指定數(shù)目的鍵值對獲取一個取樣鍵;或者,
[0042] S12、每間隔指定數(shù)目的字節(jié)獲取一個取樣鍵。
[0043] 如上述步驟Sll所述,該取樣模式可W作為鍵值對取樣模式,取樣簡單,只要數(shù)鍵 值對數(shù)目就可W,比如每個5000個鍵值對取樣一次等。如果每個鍵值對的字節(jié)數(shù)一樣的話, 運個等同計數(shù)字節(jié)數(shù)。
[0044] 如上述步驟S12所述,該取樣模式可W作為字節(jié)取樣模式,適合于每個鍵值對的字 節(jié)數(shù)有差異。運個模式能精確控制數(shù)據(jù)量來實現(xiàn)基于內(nèi)存的計算,比如500MB是比較典型的 配置。
[0045] 本實施例中,上述學習文件夾的目錄為:簽名模板的值通過指定計算方式計算出 的簽名值。
[0046] 上述簽名模板,即為作業(yè)簽名可W標識出作業(yè)的唯一性,用作HDFS上的存儲學習 文件的目錄,W便后續(xù)相同作業(yè)可W找到對應的學習文件,模板是用來產(chǎn)生簽名的一些能 標識唯一性的配置參數(shù),例如:' 'mapred.mapper.class,mapreduce.map.class, mapred.reducer.class,mapreduce.reduce.class,mapred.reduce.tasks, mapreduce.job.reduces,mapreduce.workflow.name,mapred uce.workflow.node.name"D
[0047] 上述簽名模板的值,即為由上述簽名模板中的每個參數(shù)的值聯(lián)接而成的字符串;
[0048] 上述簽名值,即為對上述簽名模板的值進行指定計算得出的值,在一具體實施例 中,上述簽名值為簽名模板的值進行哈希計算出的值。
[0049] 本實施例中,上述每間隔指定數(shù)目的鍵值對獲取一個取樣鍵;或者,每間隔指定數(shù) 目的字節(jié)獲取一個取樣鍵的步驟,包括:
[0050] S110、根據(jù)數(shù)據(jù)變形的情況,自適應選擇所述間隔指定數(shù)目。
[0051] 如上述步驟SllO所述,上述數(shù)據(jù)變形是指實際運行時的數(shù)據(jù)與取樣時的數(shù)據(jù)有差 異,有時運種差異會非常大,比如淘寶平常工作日的交易數(shù)據(jù)與雙11購物節(jié)的交易數(shù)據(jù)差 了幾個數(shù)量級,運樣如果用平常數(shù)據(jù)學習的結(jié)果來指導處理雙11購物節(jié)嚴重變形的數(shù)據(jù), 過程中數(shù)據(jù)一定會從內(nèi)存中溢出,避免的方法是我們可W根據(jù)實際情況來制定不同的策 略,比如不同時期采用不同的學習文件,或者重新產(chǎn)生學習文件等。重新產(chǎn)生學習文件的頻 率可W根據(jù)學習成本的高低來低來決定,本發(fā)明上述的取樣的學習方法成本很低,可W每 次運行的時候重新學習,運樣就可W做到數(shù)據(jù)變形自適應。
[0052] 本實施例中,取樣的信息可W W文件的形式保存在化doop的分布式文件系統(tǒng)皿FS 上W便后續(xù)任務的訪問。HDFS上的目錄也是比較重要,我們使用的是作業(yè)的簽名 (signature)。取樣是針對每個Reduce進程的,所W每個reduce進程會產(chǎn)生一個學習文件。 文件格式我們采用的是化doop固有的用來保存鍵值對的文件格式SequenceFile,用它來保 存取樣的信息,鍵就是取樣的鍵,值可W用該鍵的在數(shù)據(jù)集合中的偏移量。如圖2所示,用每 個5000個record對數(shù)據(jù)取樣一次,共取樣4個鍵"cat"吁OX" "lion" "snake",寫到文件中的 值分別為每個鍵在數(shù)據(jù)集合中的偏移量(或取樣位置)。
[0053] 本實施例中,學習文件中取樣的鍵可W用來構(gòu)建一個在內(nèi)存中的鍵與數(shù)據(jù)塊 (bucket)標識符(id)之間的映射關(guān)系,此映射關(guān)系可W在后續(xù)的作業(yè)中用來查找數(shù)據(jù)所屬 的bucket,在map端就可W用來對數(shù)據(jù)的進行劃分,再加上由于取樣的鍵是有序的,所W bucket之間是有序的,運樣就形成了一種全局有序的粗顆粒度的排序算法。其中,構(gòu)建映射 關(guān)系多種方法,比如:TreeMap方式,其構(gòu)建簡單,占用內(nèi)存少,查找效率一般0( Iogn);或者, 多維數(shù)組的方法,可W在學習階段構(gòu)建,用取樣鍵的前幾個最有意義的字節(jié)(Most Significant Bytes)作為數(shù)組索引來填充數(shù)組數(shù)據(jù),查找時效率高0(1),但發(fā)生沖突的幾 率也較大。本實施例使用的是一種混合分級的模式,先在=維數(shù)組中查找,CC(Collision Counter)是數(shù)組元素發(fā)生沖突的次數(shù),如果CC<2,那么只有一個bucket,如果CC = 2,那么r* 與2nd bucket ID有意義,用全鍵比較來決定ISt還是2nd bucket,如果CC〉2,就用化eeMap的 結(jié)果;如果是=維數(shù)組,它的內(nèi)存尺寸達到255*255*255*8 = 132651000b5Ttes = 128MB,每個 Reduce-個數(shù)組顯然不可行,可W采用所有reduce共享一個數(shù)據(jù),如果reduce之間發(fā)生沖 突,使用特殊位標識符SB (Special Bit flag)來輔助確定reduce,也就是分區(qū)號碼 (partition number)。
[0054] 本發(fā)明實施例的自主學習優(yōu)化MapReduce處理數(shù)據(jù)的方法,可W對Map輸出數(shù)據(jù)的 分割,進行多批次流水線化并發(fā)處理。參照圖3,Map輸出時對每個Edition(分區(qū))可W利 用其對應的Reduce的學習文件來分割數(shù)據(jù)塊(bucket),有N個取樣鍵的話,partition會被 分割成N+1個數(shù)據(jù)塊,而且因為鍵都是有序的,所W數(shù)據(jù)塊之間也是排過序的。在流水線化 的MapReduce中,一個pa;rtition會被多批次Siuf fie ,每個批次(Pass)包含從所有map輸出 文件(MOFs)來的具有相同編號的數(shù)據(jù)塊(bucket),而且bucket之間是有序的,運使得多批 次的并發(fā)可W實現(xiàn);另外通過調(diào)節(jié)bucket的大小來實現(xiàn)每個批次的基于內(nèi)存的shuffle與 reduce過程,大大降低了硬盤10訪問與延遲。
[0055] 在一具體是實施例中,進行實驗數(shù)據(jù)比較:
[0056] (1)測試環(huán)境:
[0057] 四數(shù)據(jù)節(jié)點
[005引 hadoop軟件-S大供應商CDH,皿P,MAra結(jié)果類似
[0059] CPU 2X8core
[0060] RAM 128GB
[0061] Disk 2TBxl2
[0062] r 9'!立、111 結(jié)里
[0063]
[0064] 是否使用學習文件,其代碼層是同樣的處理,只不過沒有學習文件缺省被認為只 有一個數(shù)據(jù)塊(bucket ),運跟原生的實現(xiàn)把整個分區(qū)(par tit ion)進行Shuf fie,合并 (merge)與reduce計算是一致的,不能免除硬盤的10訪問。從表1可W看出,使用學習文件分 批次處理后顯著提高了 MapReduce的數(shù)據(jù)處理能力,大概是原來的I. 6倍-2倍。另外,從 hadoop自身的統(tǒng)計報告也看出硬盤訪問的數(shù)據(jù)大大減少,說明使用學習文件分批次處理后 轉(zhuǎn)成基于內(nèi)存的計算
[0065] 本發(fā)明的自主學習優(yōu)化MapReduce處理數(shù)據(jù)的方法,通過獲取reduce計算前的數(shù) 據(jù)的取樣鍵進行取樣學習,然后對后續(xù)作業(yè)的數(shù)據(jù)通過作業(yè)標簽判斷是否由與其對應的學 習文件,從而確定是否調(diào)用學習文件的處理結(jié)果使用,學習方法簡單,可快速、高效地重復 處理類似數(shù)據(jù)的工作。
[0066] 參照圖4,本發(fā)明實施例還提供一種自主學習優(yōu)化MapReduce處理數(shù)據(jù)的裝置,包 括:
[0067] 取樣存儲單元10,用于在一作業(yè)中,對reduce計算前的數(shù)據(jù)按照預設(shè)的方式取樣, 并將取得的取樣鍵形成學習文件存儲到目錄為其對應的作業(yè)標簽信息的學習文件夾中;
[0068] 選擇單元20,用于在后續(xù)作業(yè)中,根據(jù)其作業(yè)標簽信息查找對應的學習文件夾,如 果有,則直接調(diào)用學習文件夾中的處理結(jié)果來優(yōu)化本次處理;如果沒有,則形成新的學習文 件并存儲。
[0069] 如上述取樣存儲單元10,就是對reduce計算前的數(shù)據(jù)進行取樣,其中,reduce計算 前的數(shù)據(jù)包括多個鍵值對,一個鍵值對其實就是一個鍵化ey)值(value)。記下當下鍵值對 的鍵與值,由于數(shù)據(jù)本身是有序的,所W取樣后的鍵也是有序的。為了方便查找到對應的取 樣信息,會將取樣信息存儲到目錄為帶有作業(yè)標簽信息的學習文件中。本實施例中,一個作 業(yè)中可能包含多個reduce計算,因此會生成多個對應的學習文件,多個學習文件存儲在目 錄為對應的作業(yè)標簽信息的學習文件夾中,不同的作業(yè)具有不同的作業(yè)標簽信息。
[0070] 如上述選擇單元20,可W快速的處理與之前相同作業(yè)的任務,提高工作效率。
[0071 ] 參照圖5,本實施例中,上述取樣存儲單元10,包括:
[0072] 第一采樣模塊11,用于每間隔指定數(shù)目的鍵值對獲取一個取樣鍵;或者,
[0073] 第二采樣模塊12,用于每間隔指定數(shù)目的字節(jié)獲取一個取樣鍵。
[0074] 如上述第一采樣模塊11,該第一采樣模塊11的取樣模式可W作為鍵值對取樣模 式,取樣簡單,只要數(shù)鍵值對數(shù)目就可W,比如每個5000個鍵值對取樣一次等。如果每個鍵 值對的字節(jié)數(shù)一樣的話,運個等同計數(shù)字節(jié)數(shù)。
[0075] 如上述第二采樣模塊12,該第二采樣模塊12的取樣模式可W作為字節(jié)取樣模式, 適合于每個鍵值對的字節(jié)數(shù)有差異。運個模式能精確控制數(shù)據(jù)量來實現(xiàn)基于內(nèi)存的計算, 比如500MB是比較典型的配置。
[0076] 本實施例中,上述學習文件夾的目錄為:簽名模板的值通過指定計算方式計算出 的簽名值上述簽名模板,即為作業(yè)簽名可W標識出作業(yè)的唯一性,用作HDFS上的存儲學習 文件的目錄,W便后續(xù)相同作業(yè)可W找到對應的學習文件,模板是用來產(chǎn)生簽名的一些能 標識唯一性的配置參數(shù),例如:' 'mapred.mapper.class,mapreduce.map.class, mapred.reducer.class,mapreduce.reduce.class,mapred.reduce.tasks, mapreduce.job.reduces,mapreduce.workflow.name,mapred uce.workflow.node.name"D
[0077] 上述簽名模板的值,即為由上述簽名模板中的每個參數(shù)的值聯(lián)接而成的字符串;
[0078] 上述簽名值,即為對上述簽名模板的值進行指定計算得出的值,在一具體實施例 中,上述取樣存儲單元10,包括:哈希計算模塊13,用于對簽名模板的值進行哈希計算,得出 簽名值。
[0079] 本實施例中,上述第一采樣模塊11;或者,第二采樣模塊12包括:
[0080] 自適應子模塊110,用于根據(jù)數(shù)據(jù)變形的情況,自適應采樣策略。
[0081] 如上述自適應子模塊110,上述數(shù)據(jù)變形是指實際運行時的數(shù)據(jù)與取樣時的數(shù)據(jù) 有差異,有時運種差異會非常大,比如淘寶平常工作日的交易數(shù)據(jù)與雙11購物節(jié)的交易數(shù) 據(jù)差了幾個數(shù)量級,運樣如果用平常數(shù)據(jù)學習的結(jié)果來指導處理雙11購物節(jié)嚴重變形的數(shù) 據(jù),過程中數(shù)據(jù)一定會從內(nèi)存中溢出,避免的方法是我們可W根據(jù)實際情況來制定不同的 策略,比如不同時期采用不同的學習文件,或者重新產(chǎn)生學習文件等。重新產(chǎn)生學習文件的 頻率可W根據(jù)學習成本的高低來低來決定,本發(fā)明上述的取樣的學習方法成本很低,可W 每次運行的時候重新學習,運樣就可W做到數(shù)據(jù)變形自適應。
[0082] 本實施例中,取樣的信息可W W文件的形式保存在化doop的分布式文件系統(tǒng)皿FS 上W便后續(xù)任務的訪問。HDFS上的目錄也是比較重要,我們使用的是作業(yè)的簽名 (signature)。取樣是針對每個Reduce進程的,所W每個reduce進程會產(chǎn)生一個學習文件。 文件格式我們采用的是化doop固有的用來保存鍵值對的文件格式SequenceFile,用它來保 存取樣的信息,鍵就是取樣的鍵,值可W用該鍵的在數(shù)據(jù)集合中的偏移量。如圖2所示,用每 個5000個record對數(shù)據(jù)取樣一次,共取樣4個鍵"cat"吁OX" "lion" "snake",寫到文件中的 值分別為每個鍵在數(shù)據(jù)集合中的偏移量(或取樣位置)。
[0083] 本實施例中,學習文件中取樣的鍵可W用來構(gòu)建一個在內(nèi)存中的鍵與數(shù)據(jù)塊 (bucket)標識符(id)之間的映射關(guān)系,此映射關(guān)系可W在后續(xù)的作業(yè)中用來查找數(shù)據(jù)所屬 的bucket,在map端就可W用來對數(shù)據(jù)的進行劃分,再加上由于取樣的鍵是有序的,所W bucket之間是有序的,運樣就形成了一種全局有序的粗顆粒度的排序算法。其中,構(gòu)建映射 關(guān)系多種方法,比如:TreeMap方式,其構(gòu)建簡單,占用內(nèi)存少,查找效率一般0( Iogn);或者, 多維數(shù)組的方法,可W在學習階段構(gòu)建,用取樣鍵的前幾個最有意義的字節(jié)(Most Significant Bytes)作為數(shù)組索引來填充數(shù)組數(shù)據(jù),查找時效率高0(1),但發(fā)生沖突的幾 率也較大。本實施例使用的是一種混合分級的模式,先在=維數(shù)組中查找,CC(Collision Counter)是數(shù)組元素發(fā)生沖突的次數(shù),如果CC<2,那么只有一個bucket,如果CC = 2,那么r* 與2nd bucket ID有意義,用全鍵比較來決定ISt還是2nd bucket,如果CC〉2,就用化eeMap的 結(jié)果;如果是=維數(shù)組,它的內(nèi)存尺寸達到255*255*255*8 = 132651000b5Ttes = 128MB,每個 Reduce-個數(shù)組顯然不可行,可W采用所有reduce共享一個數(shù)據(jù),如果reduce之間發(fā)生沖 突,使用特殊位標識符SB (Special Bit flag)來輔助確定reduce,也就是分區(qū)號碼 (partition number)。
[0084] 本發(fā)明實施例的自主學習優(yōu)化MapReduce處理數(shù)據(jù)的方法,可W對Map輸出數(shù)據(jù)的 分割,進行多批次流水線化并發(fā)處理。Map輸出時對每個Padition(分區(qū)何W利用其對應 的Reduce的學習文件來分割數(shù)據(jù)塊(bucket ),有N個取樣鍵的話,partition會被分割成N+1 個數(shù)據(jù)塊,而且因為鍵都是有序的,所W數(shù)據(jù)塊之間也是排過序的。在流水線化的 MapReduce中,一個pa;rtition會被多批次Siuffie,每個批次(Pass)包含從所有map輸出文 件(MOFs)來的具有相同編號的數(shù)據(jù)塊(bucket),而且bucket之間是有序的,運使得多批次 的并發(fā)可W實現(xiàn);另外通過調(diào)節(jié)bucket的大小來實現(xiàn)每個批次的基于內(nèi)存的Shuff Ie與 reduce過程,大大降低了硬盤10訪問與延遲。
[0085] 在一具體是實施例中,進行實驗數(shù)據(jù)比較:
[0086] (1)測試環(huán)境:
[0087] 四數(shù)據(jù)節(jié)點
[0088] hadoop軟件-S大供應商CDH,皿P,MAra結(jié)果類似
[0089] CPU 2X8core
[0090] RAM 128GB
[0091] Disk 2TBxl2
[0092] (2)實測結(jié)果。
[0093]
[0094] 是否使用學習文件,其代碼層是同樣的處理,只不過沒有學習文件缺省被認為只 有一個數(shù)據(jù)塊(bucket),運跟原生的實現(xiàn)把整個分區(qū)(partition)進行Shuff Ie,合并 (merge)與reduce計算是一致的,不能免除硬盤的IO訪問。從表1可W看出,使用學習文件分 批次處理后顯著提高了MapReduce的數(shù)據(jù)處理能力,大概是原來的1.6倍-2倍。另外,從 hadoop自身的統(tǒng)計報告也看出硬盤訪問的數(shù)據(jù)大大減少,說明使用學習文件分批次處理后 轉(zhuǎn)成基于內(nèi)存的計算
[00M]本發(fā)明的自主學習優(yōu)化MapReduce處理數(shù)據(jù)的裝置,通過獲取reduce計算前的數(shù) 據(jù)的取樣鍵進行取樣學習,然后對后續(xù)作業(yè)的數(shù)據(jù)通過作業(yè)標簽判斷是否由與其對應的學 習文件,從而確定是否調(diào)用學習文件的處理結(jié)果使用,學習方法簡單,可快速、高效地重復 處理類似數(shù)據(jù)的工作
[0096] W上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用 本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān) 的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。
【主權(quán)項】
1. 一種自主學習優(yōu)化MapReduce處理數(shù)據(jù)的方法,其特征在于,包括: 在一作業(yè)中,對reduce計算前的數(shù)據(jù)按照預設(shè)的方式取樣,并將取得的取樣鍵形成學 習文件存儲到目錄為其對應的作業(yè)標簽信息的學習文件夾中; 在后續(xù)作業(yè)中,根據(jù)其作業(yè)標簽信息查找對應的學習文件夾,如果有,則直接調(diào)用學習 文件夾中的處理結(jié)果來優(yōu)化本次處理;如果沒有,則形成新的學習文件并存儲。2. 根據(jù)權(quán)利要求1所述的通過機器自主學習方法來優(yōu)化MapReduce處理數(shù)據(jù)的方法,其 特征在于,所述在一作業(yè)中,對reduce計算前的數(shù)據(jù)按照預設(shè)的方式取樣,并將取得的取樣 鍵形成學習文件存儲到目錄為其對應的作業(yè)標簽信息的學習文件夾中的步驟,包括: 每間隔指定數(shù)目的鍵值對獲取一個取樣鍵;或者, 每間隔指定數(shù)目的字節(jié)獲取一個取樣鍵。3. 根據(jù)權(quán)利要求1所述的自主學習優(yōu)化MapReduce處理數(shù)據(jù)的方法,其特征在于,所述 學習文件夾的目錄為: 簽名模板的值通過指定計算方式計算出的簽名值。4. 根據(jù)權(quán)利要求3所述的自主學習優(yōu)化MapReduce處理數(shù)據(jù)的方法,其特征在于,所述 簽名值為簽名模板的值進行哈希計算出的值。5. 根據(jù)權(quán)利要求2所述的自主學習優(yōu)化MapReduce處理數(shù)據(jù)的方法,其特征在于,所述 每間隔指定數(shù)目的鍵值對獲取一個取樣鍵;或者,每間隔指定數(shù)目的字節(jié)獲取一個取樣鍵 的步驟,包括: 根據(jù)數(shù)據(jù)變形的情況,自適應選擇所述間隔指定數(shù)目。6. -種自主學習優(yōu)化MapReduce處理數(shù)據(jù)的裝置,其特征在于,包括: 取樣存儲單元,用于在一作業(yè)中,對reduce計算前的數(shù)據(jù)按照預設(shè)的方式取樣,并將取 得的取樣鍵形成學習文件存儲到目錄為其對應的作業(yè)標簽信息的學習文件夾中; 選擇單元,用于在后續(xù)作業(yè)中,根據(jù)其作業(yè)標簽信息查找對應的學習文件夾,如果有, 則直接調(diào)用學習文件夾中的處理結(jié)果來優(yōu)化本次處理;如果沒有,則形成新的學習文件并 存儲。7. 根據(jù)權(quán)利要求6所述的通過機器自主學習方法來優(yōu)化MapReduce處理數(shù)據(jù)的裝置,其 特征在于,所述取樣存儲單元,包括: 第一采樣模塊,用于每間隔指定數(shù)目的鍵值對獲取一個取樣鍵;或者, 第二采樣模塊,用于每間隔指定數(shù)目的字節(jié)獲取一個取樣鍵。8. 根據(jù)權(quán)利要求6所述的自主學習優(yōu)化MapReduce處理數(shù)據(jù)的裝置,其特征在于,所述 學習文件夾的目錄為: 簽名模板的值通過指定計算方式計算出的簽名值。9. 根據(jù)權(quán)利要求8所述的自主學習優(yōu)化MapReduce處理數(shù)據(jù)的裝置,其特征在于,所述 取樣存儲單元,包括: 哈希計算模塊,用于簽名值為簽名模板的值進行哈希計算出的值。10. 根據(jù)權(quán)利要求7所述的自主學習優(yōu)化MapReduce處理數(shù)據(jù)的裝置,其特征在于,所述 第一采樣模塊;或者,第二采樣模塊包括: 自適應子模塊,用于根據(jù)數(shù)據(jù)變形的情況,自適應采樣策略。
【文檔編號】G06F17/30GK106021360SQ201610305912
【公開日】2016年10月12日
【申請日】2016年5月10日
【發(fā)明人】張偉, 王界兵, 李 杰, 董迪馬, 郭宇翔, 梁猛
【申請人】深圳前海信息技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1