本技術(shù)屬于大數(shù)據(jù),具體涉及一種數(shù)據(jù)表優(yōu)化方法、裝置、計(jì)算機(jī)設(shè)備和存儲介質(zhì)。
背景技術(shù):
1、在產(chǎn)險大數(shù)據(jù)平臺中,每天需處理成千上萬的任務(wù),這些任務(wù)涉及復(fù)雜的數(shù)據(jù)分析與計(jì)算,對系統(tǒng)性能和資源利用效率提出了極高要求。尤其是針對時效性要求較高的任務(wù),如實(shí)時風(fēng)險評估、欺詐檢測等,其執(zhí)行效率直接影響到業(yè)務(wù)決策的及時性和準(zhǔn)確性。然而,在大數(shù)據(jù)處理過程中,數(shù)據(jù)傾斜問題成為制約系統(tǒng)性能的關(guān)鍵因素之一。
2、數(shù)據(jù)傾斜指的是在分布式計(jì)算過程中,某些分區(qū)或節(jié)點(diǎn)上的數(shù)據(jù)量明顯高于其他分區(qū)或節(jié)點(diǎn),導(dǎo)致這些節(jié)點(diǎn)上的計(jì)算任務(wù)負(fù)擔(dān)過重,從而拖慢整體處理速度,甚至引發(fā)內(nèi)存溢出等問題。在產(chǎn)險大數(shù)據(jù)平臺中,由于數(shù)據(jù)本身的不均勻分布或特定業(yè)務(wù)邏輯導(dǎo)致的數(shù)據(jù)集中,數(shù)據(jù)傾斜現(xiàn)象尤為突出。這不僅影響了大數(shù)據(jù)任務(wù)的執(zhí)行效率,還增加了系統(tǒng)的運(yùn)維成本和資源消耗。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例的目的在于提出一種數(shù)據(jù)表優(yōu)化方法、裝置、計(jì)算機(jī)設(shè)備及存儲介質(zhì),以解決現(xiàn)有分布式任務(wù)處理過程中由于數(shù)據(jù)傾斜而導(dǎo)致的任務(wù)執(zhí)行效率,系統(tǒng)運(yùn)維成本和資源消耗高的技術(shù)問題。
2、為了解決上述技術(shù)問題,本技術(shù)實(shí)施例提供一種數(shù)據(jù)表優(yōu)化方法,采用了如下所述的技術(shù)方案:
3、一種數(shù)據(jù)表優(yōu)化方法,包括:
4、對數(shù)據(jù)表進(jìn)行全表分區(qū)掃描,得到數(shù)據(jù)表的數(shù)據(jù)分區(qū);
5、對數(shù)據(jù)分區(qū)進(jìn)行數(shù)據(jù)采樣和統(tǒng)計(jì)分析,獲取數(shù)據(jù)分區(qū)的數(shù)據(jù)分布特征;
6、基于數(shù)據(jù)分布特征確定數(shù)據(jù)分區(qū)是否存在數(shù)據(jù)傾斜;
7、獲取存在數(shù)據(jù)傾斜的數(shù)據(jù)分區(qū),得到第一數(shù)據(jù)分區(qū),并識別第一數(shù)據(jù)分區(qū)中的熱點(diǎn)數(shù)據(jù),將熱點(diǎn)數(shù)據(jù)劃分到新的數(shù)據(jù)分區(qū)中;
8、更新數(shù)據(jù)表,識別更新后的數(shù)據(jù)表中存儲有數(shù)據(jù)的數(shù)據(jù)分區(qū),得到第二數(shù)據(jù)分區(qū),并對第二數(shù)據(jù)分區(qū)進(jìn)行負(fù)載均衡調(diào)整。
9、進(jìn)一步地,對數(shù)據(jù)表進(jìn)行全表分區(qū)掃描,得到數(shù)據(jù)表的數(shù)據(jù)分區(qū)的步驟,具體包括:
10、采用全表分區(qū)掃描對數(shù)據(jù)表的表結(jié)構(gòu)進(jìn)行掃描,以確定數(shù)據(jù)表中數(shù)據(jù)分區(qū)的分區(qū)編號和分區(qū)鍵,其中,分區(qū)鍵定義了數(shù)據(jù)分區(qū)的列或列組合;
11、根據(jù)分區(qū)編號和分區(qū)鍵,確定數(shù)據(jù)分區(qū)的分區(qū)范圍;
12、根據(jù)數(shù)據(jù)分區(qū)的分區(qū)范圍確定數(shù)據(jù)分區(qū)的分區(qū)路徑;
13、根據(jù)數(shù)據(jù)分區(qū)的分區(qū)路徑確定數(shù)據(jù)分區(qū)在數(shù)據(jù)表的數(shù)據(jù)存儲位置;
14、根據(jù)數(shù)據(jù)分區(qū)的數(shù)據(jù)存儲位置確定數(shù)據(jù)表中的數(shù)據(jù)分區(qū)。
15、進(jìn)一步地,對數(shù)據(jù)分區(qū)進(jìn)行數(shù)據(jù)采樣和統(tǒng)計(jì)分析,獲取數(shù)據(jù)分區(qū)的數(shù)據(jù)分布特征的步驟,具體包括:
16、采用分層抽樣對數(shù)據(jù)分區(qū)內(nèi)的數(shù)據(jù)進(jìn)行采樣,得到第一分區(qū)數(shù)據(jù)集;
17、對第一分區(qū)數(shù)據(jù)集的統(tǒng)計(jì)分析,獲取第一分區(qū)數(shù)據(jù)集的統(tǒng)計(jì)特征;
18、基于第一分區(qū)數(shù)據(jù)集的統(tǒng)計(jì)特征識別第一分區(qū)數(shù)據(jù)集所屬的分布類型,得到目標(biāo)特征分布;
19、提取目標(biāo)特征分布的特征,得到數(shù)據(jù)分區(qū)的數(shù)據(jù)分布特征。
20、進(jìn)一步地,分布類型包括正態(tài)分布、指數(shù)分布和泊松分布,基于數(shù)據(jù)分布特征確定數(shù)據(jù)分區(qū)是否存在數(shù)據(jù)傾斜的步驟,具體包括:
21、獲取分布類型為正態(tài)分布的數(shù)據(jù)分區(qū),得到第三數(shù)據(jù)分區(qū);
22、統(tǒng)計(jì)第三數(shù)據(jù)分區(qū)的數(shù)據(jù)量,并計(jì)算第三數(shù)據(jù)分區(qū)的均值和標(biāo)準(zhǔn)差;
23、根據(jù)第三數(shù)據(jù)分區(qū)的數(shù)據(jù)量、均值和標(biāo)準(zhǔn)差確定第三數(shù)據(jù)分區(qū)是否存在數(shù)據(jù)傾斜;
24、獲取分布類型為指數(shù)分布的數(shù)據(jù)分區(qū),得到第四數(shù)據(jù)分區(qū);
25、識別第四數(shù)據(jù)分區(qū)的數(shù)據(jù)邊界,并基于數(shù)據(jù)邊界確定第四數(shù)據(jù)分區(qū)是否存在數(shù)據(jù)傾斜;
26、獲取分布類型為泊松分布的數(shù)據(jù)分區(qū),得到第五數(shù)據(jù)分區(qū);
27、計(jì)算第五數(shù)據(jù)分區(qū)的泊松參數(shù),并基于泊松參數(shù)對第五數(shù)據(jù)分區(qū)劃分,得到數(shù)據(jù)子分區(qū);
28、通過比對數(shù)據(jù)子分區(qū)的數(shù)據(jù)量確定第五數(shù)據(jù)分區(qū)是否存在數(shù)據(jù)傾斜。
29、進(jìn)一步地,計(jì)算第五數(shù)據(jù)分區(qū)的泊松參數(shù),并基于泊松參數(shù)對第五數(shù)據(jù)分區(qū)劃分,得到數(shù)據(jù)子分區(qū)的步驟,具體包括:
30、對第五數(shù)據(jù)分區(qū)進(jìn)行數(shù)據(jù)采樣,得到第二分區(qū)數(shù)據(jù)集;
31、計(jì)算第二分區(qū)數(shù)據(jù)集的均值和方差,并根據(jù)第二分區(qū)數(shù)據(jù)集的均值和方差估算泊松參數(shù);
32、以泊松參數(shù)的整數(shù)倍為第五數(shù)據(jù)分區(qū)的子分區(qū)劃分?jǐn)?shù)量;
33、基于子分區(qū)劃分?jǐn)?shù)量對第五數(shù)據(jù)分區(qū)劃分,得到數(shù)據(jù)子分區(qū)。
34、進(jìn)一步地,識別第一數(shù)據(jù)分區(qū)中的熱點(diǎn)數(shù)據(jù),將熱點(diǎn)數(shù)據(jù)劃分到新的數(shù)據(jù)分區(qū)中的步驟,具體包括:
35、對第一數(shù)據(jù)分區(qū)中的數(shù)據(jù)進(jìn)行頻率統(tǒng)計(jì)分析,并采用直方圖繪制數(shù)據(jù)分布曲線;
36、基于數(shù)據(jù)分布曲線和預(yù)設(shè)的熱點(diǎn)閾值,確定第一數(shù)據(jù)分區(qū)中的熱點(diǎn)數(shù)據(jù);
37、對第一數(shù)據(jù)分區(qū)中的熱點(diǎn)數(shù)據(jù)進(jìn)行聚類操作,得到熱點(diǎn)數(shù)據(jù)集;
38、在數(shù)據(jù)表查詢新的數(shù)據(jù)分區(qū),并將熱點(diǎn)數(shù)據(jù)集轉(zhuǎn)移到新的數(shù)據(jù)分區(qū)內(nèi)。
39、進(jìn)一步地,在數(shù)據(jù)表查詢新的數(shù)據(jù)分區(qū),并將熱點(diǎn)數(shù)據(jù)集轉(zhuǎn)移到新的數(shù)據(jù)分區(qū)內(nèi)的步驟之后,還包括:
40、獲取熱點(diǎn)數(shù)據(jù)集在第一數(shù)據(jù)分區(qū)中的存儲路徑,得到熱點(diǎn)路徑集合;
41、獲取熱點(diǎn)數(shù)據(jù)集的數(shù)據(jù)索引,并注銷熱點(diǎn)數(shù)據(jù)集的數(shù)據(jù)索引;
42、按照熱點(diǎn)路徑集合將熱點(diǎn)數(shù)據(jù)集存儲到新的數(shù)據(jù)分區(qū),并生成新的數(shù)據(jù)索引。
43、為了解決上述技術(shù)問題,本技術(shù)實(shí)施例還提供一種數(shù)據(jù)表優(yōu)化裝置,采用了如下所述的技術(shù)方案:
44、一種數(shù)據(jù)表優(yōu)化裝置,包括:
45、分區(qū)掃描模塊,用于對數(shù)據(jù)表進(jìn)行全表分區(qū)掃描,得到數(shù)據(jù)表的數(shù)據(jù)分區(qū);
46、采樣統(tǒng)計(jì)模塊,用于對數(shù)據(jù)分區(qū)進(jìn)行數(shù)據(jù)采樣和統(tǒng)計(jì)分析,獲取數(shù)據(jù)分區(qū)的數(shù)據(jù)分布特征;
47、傾斜判定模塊,用于基于數(shù)據(jù)分布特征確定數(shù)據(jù)分區(qū)是否存在數(shù)據(jù)傾斜;
48、數(shù)據(jù)轉(zhuǎn)移模塊,用于獲取存在數(shù)據(jù)傾斜的數(shù)據(jù)分區(qū),得到第一數(shù)據(jù)分區(qū),并識別第一數(shù)據(jù)分區(qū)中的熱點(diǎn)數(shù)據(jù),將熱點(diǎn)數(shù)據(jù)劃分到新的數(shù)據(jù)分區(qū)中;
49、數(shù)據(jù)更新模塊,用于更新數(shù)據(jù)表,識別更新后的數(shù)據(jù)表中存儲有數(shù)據(jù)的數(shù)據(jù)分區(qū),得到第二數(shù)據(jù)分區(qū),并對第二數(shù)據(jù)分區(qū)進(jìn)行負(fù)載均衡調(diào)整。
50、為了解決上述技術(shù)問題,本技術(shù)實(shí)施例還提供一種計(jì)算機(jī)設(shè)備,采用了如下所述的技術(shù)方案:
51、一種計(jì)算機(jī)設(shè)備,包括存儲器和處理器,所述存儲器中存儲有計(jì)算機(jī)可讀指令,所述處理器執(zhí)行所述計(jì)算機(jī)可讀指令時實(shí)現(xiàn)如上述任一項(xiàng)所述的數(shù)據(jù)表優(yōu)化方法的步驟。
52、為了解決上述技術(shù)問題,本技術(shù)實(shí)施例還提供一種計(jì)算機(jī)可讀存儲介質(zhì),采用了如下所述的技術(shù)方案:
53、一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)上存儲有計(jì)算機(jī)可讀指令,所述計(jì)算機(jī)可讀指令被處理器執(zhí)行時實(shí)現(xiàn)如上述中任一項(xiàng)所述的數(shù)據(jù)表優(yōu)化方法的步驟。
54、與現(xiàn)有技術(shù)相比,本技術(shù)實(shí)施例主要有以下有益效果:
55、本技術(shù)公開一種數(shù)據(jù)表優(yōu)化方法、裝置、計(jì)算機(jī)設(shè)備和存儲介質(zhì),屬于大數(shù)據(jù)技術(shù)領(lǐng)域。本技術(shù)通過對數(shù)據(jù)表進(jìn)行全表分區(qū)掃描,得到數(shù)據(jù)表的數(shù)據(jù)分區(qū);對數(shù)據(jù)分區(qū)進(jìn)行數(shù)據(jù)采樣和統(tǒng)計(jì)分析,獲取數(shù)據(jù)分區(qū)的數(shù)據(jù)分布特征;基于數(shù)據(jù)分布特征確定數(shù)據(jù)分區(qū)是否存在數(shù)據(jù)傾斜;獲取存在數(shù)據(jù)傾斜的數(shù)據(jù)分區(qū),得到第一數(shù)據(jù)分區(qū),并識別第一數(shù)據(jù)分區(qū)中的熱點(diǎn)數(shù)據(jù),將熱點(diǎn)數(shù)據(jù)劃分到新的數(shù)據(jù)分區(qū)中;更新數(shù)據(jù)表,識別更新后的數(shù)據(jù)表中存儲有數(shù)據(jù)的數(shù)據(jù)分區(qū),得到第二數(shù)據(jù)分區(qū),并對第二數(shù)據(jù)分區(qū)進(jìn)行負(fù)載均衡調(diào)整。本技術(shù)通過全表分區(qū)掃描與數(shù)據(jù)分析,有效識別并處理數(shù)據(jù)傾斜問題,通過將熱點(diǎn)數(shù)據(jù)遷移至新分區(qū),減少查詢負(fù)載瓶頸,提升數(shù)據(jù)訪問效率。同時,對更新后的數(shù)據(jù)分區(qū)進(jìn)行負(fù)載均衡調(diào)整,進(jìn)一步優(yōu)化數(shù)據(jù)表性能,確保系統(tǒng)在高并發(fā)環(huán)境下的穩(wěn)定運(yùn)行,提高整體數(shù)據(jù)處理能力和系統(tǒng)響應(yīng)速度。