亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種數(shù)據(jù)庫(kù)表HiveTable的數(shù)據(jù)加載方法和裝置的制造方法

文檔序號(hào):9887798閱讀:314來(lái)源:國(guó)知局
一種數(shù)據(jù)庫(kù)表Hive Table的數(shù)據(jù)加載方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001 ]本申請(qǐng)涉及數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,特別是涉及一種數(shù)據(jù)庫(kù)表Hive Table的數(shù)據(jù)加載方法和一種數(shù)據(jù)庫(kù)表Hive Table的數(shù)據(jù)加載裝置。
【背景技術(shù)】
[0002]由于Hadoop(分布式系統(tǒng)基礎(chǔ)架構(gòu))集群寫(xiě)入數(shù)據(jù)量巨大,并且越來(lái)越多的歷史數(shù)據(jù)需要保存到Hive(基于Hadoop的數(shù)據(jù)倉(cāng)庫(kù)工具)來(lái)進(jìn)行深度分析。為此,對(duì)海量數(shù)據(jù)進(jìn)行壓縮十分重要,這能夠節(jié)省存儲(chǔ)成本,減少磁盤10,進(jìn)而提高查詢效率。而針對(duì)Hive數(shù)據(jù)的分布規(guī)律進(jìn)行壓縮則能取得更高的壓縮性能.
[0003]然而,無(wú)論是文本文件TextFi Ie,順序文件SequenceFi Ie還是列記錄文件RecordColumnFi Ie,Hive當(dāng)前的主流存儲(chǔ)結(jié)構(gòu)所支持的壓縮算法都是LZ0(Lempel-Zi V-Oberhumer) ,SNAPPY等通用壓縮算法。這些壓縮算法雖然對(duì)存儲(chǔ)結(jié)構(gòu)的組織形式?jīng)]有要求,但是它們并沒(méi)有利用數(shù)據(jù)列值之間的分布規(guī)律進(jìn)行壓縮。
[0004]對(duì)于Hive最新的0RC(0ptimizedRecord Columnar)以及Parquet存儲(chǔ)結(jié)構(gòu),也僅僅提供了如RunLengthEncoding等少數(shù)壓縮算法,也沒(méi)有利用數(shù)據(jù)列分布規(guī)律為其選擇最適壓縮算法。
[0005]然而,通常情況下用戶并不知道Hive表的每一個(gè)數(shù)據(jù)列的具體分布情況是怎么樣,采用哪種相應(yīng)的壓縮算法進(jìn)行壓縮綜合性能更優(yōu)。因而需要采用針對(duì)Hive數(shù)據(jù)分布規(guī)律的自適應(yīng)壓縮算法。

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

[0006]鑒于上述問(wèn)題,提出了本申請(qǐng)實(shí)施例以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的一種數(shù)據(jù)庫(kù)表Hive Table的數(shù)據(jù)加載方法和相應(yīng)的一種數(shù)據(jù)庫(kù)表HiveTable的數(shù)據(jù)加載裝置。
[0007]為了解決上述問(wèn)題,本申請(qǐng)實(shí)施例公開(kāi)了一種數(shù)據(jù)庫(kù)表HiveTable的數(shù)據(jù)加載方法,包括:
[0008]獲取需要加載到數(shù)據(jù)庫(kù)表HiveTable的待加載數(shù)據(jù);
[0009]確定所述待加載數(shù)據(jù)中的目標(biāo)數(shù)據(jù);
[0010]采用預(yù)設(shè)的多個(gè)壓縮算法對(duì)所述目標(biāo)數(shù)據(jù)進(jìn)行壓縮處理;
[0011 ]依據(jù)所述目標(biāo)數(shù)據(jù)經(jīng)過(guò)各個(gè)壓縮算法的壓縮處理后的壓縮結(jié)果選取最優(yōu)的壓縮算法;
[0012]采用所述最優(yōu)的壓縮算法對(duì)目標(biāo)數(shù)據(jù)之外的其余數(shù)據(jù)進(jìn)行壓縮;
[0013]將壓縮后的待加載數(shù)據(jù)加載到數(shù)據(jù)庫(kù)表HiveTable中。
[0014]優(yōu)選的,所述數(shù)據(jù)庫(kù)表HiveTable包括多個(gè)數(shù)據(jù)列,所述數(shù)據(jù)列包括多個(gè)數(shù)據(jù)頁(yè),所述確定所述待加載數(shù)據(jù)中的目標(biāo)數(shù)據(jù)的步驟包括:
[0015]確定所述待加載數(shù)據(jù)中需要加載到所述數(shù)據(jù)庫(kù)表HiveTable的任一數(shù)據(jù)列的第一個(gè)數(shù)據(jù)頁(yè)中的目標(biāo)數(shù)據(jù);
[0016]所述采用所述最優(yōu)的壓縮算法對(duì)目標(biāo)數(shù)據(jù)之外的其余數(shù)據(jù)進(jìn)行壓縮的步驟包括:
[0017]采用所述最優(yōu)的壓縮算法對(duì)需要加載到目標(biāo)數(shù)據(jù)所在的數(shù)據(jù)列中其余數(shù)據(jù)頁(yè)的數(shù)據(jù)進(jìn)行壓縮。
[0018]優(yōu)選的,所述依據(jù)所述目標(biāo)數(shù)據(jù)經(jīng)過(guò)各個(gè)壓縮算法的壓縮處理后的壓縮結(jié)果選取最優(yōu)的壓縮算法的步驟包括:
[0019]確定所述目標(biāo)數(shù)據(jù)經(jīng)過(guò)各個(gè)壓縮算法的壓縮處理后的壓縮指標(biāo);所述壓縮指標(biāo)包括:壓縮比、壓縮時(shí)間、解壓縮時(shí)間;
[0020]采用所述壓縮指標(biāo)計(jì)算各個(gè)壓縮算法的相對(duì)壓縮比、相對(duì)壓縮時(shí)間和相對(duì)解壓縮時(shí)間;
[0021]選取相對(duì)壓縮比、相對(duì)壓縮時(shí)間與相對(duì)解壓縮時(shí)間之和最少的壓縮算法作為最優(yōu)壓縮算法;
[0022]所述相對(duì)壓縮比為將某一個(gè)壓縮算法的壓縮比與各個(gè)壓縮算法的壓縮比相加和的比值乘以預(yù)設(shè)第一權(quán)重;
[0023]所述相對(duì)壓縮時(shí)間為將某一個(gè)壓縮算法的壓縮時(shí)間與各個(gè)壓縮算法的壓縮時(shí)間相加和的比值乘以預(yù)設(shè)第二權(quán)重;
[0024]所述相對(duì)解壓縮時(shí)間為將某一個(gè)壓縮算法的解壓縮時(shí)間與各個(gè)壓縮算法的解壓縮時(shí)間相加和的比值乘以預(yù)設(shè)第三權(quán)重。
[0025]優(yōu)選的,所述預(yù)設(shè)第一權(quán)重大于所述預(yù)設(shè)第二權(quán)重,所述預(yù)設(shè)第三權(quán)重大于所述預(yù)設(shè)第二權(quán)重。
[0026]優(yōu)選的,所述預(yù)設(shè)的多個(gè)壓縮算法包括:
[0027]位填充壓縮算法Bit Packing Compress1n,字典壓縮算法Dict1naryCompress1n,運(yùn)行長(zhǎng)度壓縮算法Run Length Compress1n,變量增量壓縮算法DeltaCompress1n,以及由這幾種算法生成的組合算法。
[0028]同時(shí),本申請(qǐng)還公開(kāi)了一種數(shù)據(jù)庫(kù)表HiveTable的數(shù)據(jù)加載裝置,包括:
[0029]數(shù)據(jù)獲取模塊,用于獲取需要加載到數(shù)據(jù)庫(kù)表HiveTable的待加載數(shù)據(jù);
[0030]目標(biāo)數(shù)據(jù)確定模塊,用于確定所述待加載數(shù)據(jù)中的目標(biāo)數(shù)據(jù);
[0031 ]目標(biāo)數(shù)據(jù)壓縮模塊,用于采用預(yù)設(shè)的多個(gè)壓縮算法對(duì)所述目標(biāo)數(shù)據(jù)進(jìn)行壓縮處理;
[0032]最優(yōu)算法選取模塊,用于依據(jù)所述目標(biāo)數(shù)據(jù)經(jīng)過(guò)各個(gè)壓縮算法的壓縮處理后的壓縮結(jié)果選取最優(yōu)的壓縮算法;
[0033]其余數(shù)據(jù)壓縮模塊,用于采用所述最優(yōu)的壓縮算法對(duì)目標(biāo)數(shù)據(jù)之外的其余數(shù)據(jù)進(jìn)行壓縮;
[0034]數(shù)據(jù)加載模塊,用于將壓縮后的待加載數(shù)據(jù)加載到數(shù)據(jù)庫(kù)表HiveTable中。
[0035]優(yōu)選的,所述數(shù)據(jù)庫(kù)表HiveTable包括多個(gè)數(shù)據(jù)列,所述數(shù)據(jù)列包括多個(gè)數(shù)據(jù)頁(yè);
[0036]所述目標(biāo)數(shù)據(jù)確定模塊進(jìn)一步包括:
[0037]列目標(biāo)數(shù)據(jù)確定子模塊,用于確定所述待加載數(shù)據(jù)中需要加載到所述數(shù)據(jù)庫(kù)表Hive Table的任一數(shù)據(jù)列的第一個(gè)數(shù)據(jù)頁(yè)中的目標(biāo)數(shù)據(jù);
[0038]所述其余數(shù)據(jù)壓縮模塊進(jìn)一步包括:
[0039]列其余數(shù)據(jù)壓縮子模塊,用于采用所述最優(yōu)的壓縮算法對(duì)需要加載到目標(biāo)數(shù)據(jù)所在的數(shù)據(jù)列中其余數(shù)據(jù)頁(yè)的數(shù)據(jù)進(jìn)行壓縮。
[0040]優(yōu)選的,所述最優(yōu)算法選取模塊進(jìn)一步包括:
[0041 ]壓縮指標(biāo)確定子模塊,用于確定所述目標(biāo)數(shù)據(jù)經(jīng)過(guò)各個(gè)壓縮算法的壓縮處理后的壓縮指標(biāo);所述壓縮指標(biāo)包括:壓縮比、壓縮時(shí)間、解壓縮時(shí)間;
[0042]相對(duì)指標(biāo)計(jì)算子模塊,用于采用所述壓縮指標(biāo)計(jì)算各個(gè)壓縮算法的相對(duì)壓縮比、相對(duì)壓縮時(shí)間和相對(duì)解壓縮時(shí)間;
[0043]相對(duì)指標(biāo)選取子模塊,用于選取相對(duì)壓縮比、相對(duì)壓縮時(shí)間與相對(duì)解壓縮時(shí)間之和最少的壓縮算法作為最優(yōu)壓縮算法;
[0044]所述相對(duì)壓縮比為將某一個(gè)壓縮算法的壓縮比與各個(gè)壓縮算法的壓縮比相加和的比值乘以預(yù)設(shè)第一權(quán)重;
[0045]所述相對(duì)壓縮時(shí)間為將某一個(gè)壓縮算法的壓縮時(shí)間與各個(gè)壓縮算法的壓縮時(shí)間相加和的比值乘以預(yù)設(shè)第二權(quán)重;
[0046]所述相對(duì)解壓縮時(shí)間為將某一個(gè)壓縮算法的解壓縮時(shí)間與各個(gè)壓縮算法的解壓縮時(shí)間相加和的比值乘以預(yù)設(shè)第三權(quán)重。
[0047]優(yōu)選的,所述預(yù)設(shè)第一權(quán)重大于所述預(yù)設(shè)第二權(quán)重,所述預(yù)設(shè)第三權(quán)重大于所述預(yù)設(shè)第二權(quán)重。
[0048]優(yōu)選的,所述預(yù)設(shè)的多個(gè)壓縮算法包括:
[0049]位填充壓縮算法Bit Packing Compress1n,字典壓縮算法Dict1naryCompress1n,運(yùn)行長(zhǎng)度壓縮算法Run Length Compress1n,變量增量壓縮算法DeltaCompress1n,以及由這幾種算法生成的組合算法。
[0050]本申請(qǐng)實(shí)施例包括以下優(yōu)點(diǎn):
[0051]本申請(qǐng)實(shí)施例通過(guò)采用符合Hive表數(shù)據(jù)列值的分布情況的壓縮算法,結(jié)合自適應(yīng)決策為待加載數(shù)據(jù)選擇適合其分布特征的壓縮算法進(jìn)行壓縮,獲得更高的數(shù)據(jù)壓縮,節(jié)省更多的存儲(chǔ)空間,減少磁盤數(shù)據(jù)傳輸量10,提高Hive查詢效率。需要說(shuō)明的是,本申請(qǐng)實(shí)施對(duì)加載數(shù)據(jù)的自適應(yīng)壓縮方法雖然是基于hive數(shù)據(jù)倉(cāng)庫(kù)來(lái)進(jìn)行闡述的,但是該方法對(duì)于其他基于Hadoop的面向OLAP(Online Analytical Processing,聯(lián)機(jī)分析處理)分析計(jì)算的工具如spark,impala,presto ,drill等都適用,這些計(jì)算工具都可以利用該自適應(yīng)的壓縮算法來(lái)節(jié)省數(shù)據(jù)存儲(chǔ)空間,減小磁盤數(shù)據(jù)傳輸量10,提高查詢效率。
【附圖說(shuō)明】
[0052]圖1是本申請(qǐng)的一種數(shù)據(jù)庫(kù)表HiveTable的數(shù)據(jù)加載方法實(shí)施例的步驟流程圖;
[0053]圖2是本申請(qǐng)實(shí)施例中數(shù)據(jù)庫(kù)表HiveTable的示意圖;
[0054]圖3是本申請(qǐng)的一種數(shù)據(jù)庫(kù)表HiveTable的數(shù)據(jù)加載裝置實(shí)施例的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0055]為使本申請(qǐng)的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本申請(qǐng)作進(jìn)一步詳細(xì)的說(shuō)明。
[0056]本申請(qǐng)實(shí)施例的核心構(gòu)思之一在于,通過(guò)采用符合Hive表數(shù)據(jù)列值的分布情況的壓縮算法,結(jié)合自適應(yīng)決策為待加載數(shù)據(jù)選擇適合其分布特征的壓縮算法進(jìn)行壓縮。
[0057]參照?qǐng)D1,示出了本申請(qǐng)的一種數(shù)據(jù)庫(kù)表HiveTable的數(shù)據(jù)加載方法實(shí)施例的步驟流程圖,具體可以包括如下步驟
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1