一種數(shù)據(jù)關(guān)聯(lián)、加載、查詢方法及裝置制造方法【專利摘要】本發(fā)明提供了一種數(shù)據(jù)關(guān)聯(lián)、加載、查詢方法及裝置,方法包括如下步驟確定需要關(guān)聯(lián)的兩個數(shù)據(jù)對象,將兩個數(shù)據(jù)對象中數(shù)據(jù)量較小的數(shù)據(jù)對象以(key,value)方式放入內(nèi)存的類Hashtable結(jié)構(gòu)中,對另一數(shù)據(jù)對象中的每條記錄生成對應(yīng)的key值,通過對key值進(jìn)行哈希Hash確定每條記錄是否與內(nèi)存中的key值關(guān)聯(lián);當(dāng)存在關(guān)聯(lián)時,將所有存在關(guān)聯(lián)的記錄作為新數(shù)據(jù)對象輸出;將關(guān)聯(lián)后的新數(shù)據(jù)對象加載到Hadoop平臺的指定組件上;當(dāng)接收到查詢請求時,根據(jù)查詢字段在關(guān)聯(lián)后的新數(shù)據(jù)對象中進(jìn)行查找并返回查詢結(jié)果;本發(fā)明所提供的技術(shù)方案,優(yōu)化了數(shù)據(jù)對象關(guān)聯(lián)機(jī)制,進(jìn)而提高了系統(tǒng)的關(guān)聯(lián)查詢效率。【專利說明】一種數(shù)據(jù)關(guān)聯(lián)、加載、查詢方法及裝置【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及數(shù)據(jù)處理【
技術(shù)領(lǐng)域:
】,尤其涉及一種數(shù)據(jù)關(guān)聯(lián)、加載、查詢方法及裝置?!?br>背景技術(shù):
】[0002]在關(guān)系數(shù)據(jù)庫系統(tǒng)中對于表與表之間連接(join)操作已經(jīng)有很多的優(yōu)化,同樣在通用的大數(shù)據(jù)系統(tǒng)中,對于多個非結(jié)構(gòu)化/半結(jié)構(gòu)化數(shù)據(jù)對象通過關(guān)聯(lián)加載的方式導(dǎo)入到Hadoop平臺上(分布式文件系統(tǒng)HDFS,HBase,Hive等等)作進(jìn)一步分析處理,同樣需要一種機(jī)制來支持。[0003]目前,現(xiàn)有的技術(shù)可以直接借助于關(guān)系數(shù)據(jù)庫引擎,通過數(shù)據(jù)庫內(nèi)建的join的相關(guān)機(jī)制和優(yōu)化,來實(shí)現(xiàn)對數(shù)據(jù)對象的關(guān)聯(lián)。[0004]現(xiàn)有技術(shù)不足在于:[0005]現(xiàn)有的大數(shù)據(jù)對象的關(guān)聯(lián)主要依賴于一些關(guān)系數(shù)據(jù)庫的查詢引擎,當(dāng)數(shù)據(jù)量急劇增大的條件下,系統(tǒng)的關(guān)聯(lián)查詢性能存在明顯的瓶頸。而采用NoSQL型的數(shù)據(jù)庫,由于設(shè)計(jì)的特性,大部分也無法完美的支持?jǐn)?shù)據(jù)對象的關(guān)聯(lián)。【
發(fā)明內(nèi)容】[0006]本發(fā)明實(shí)施例提出了一種數(shù)據(jù)關(guān)聯(lián)、加載、查詢方法及裝置,解決了現(xiàn)有技術(shù)中的關(guān)系數(shù)據(jù)庫無法完美支持大數(shù)據(jù)對象關(guān)聯(lián)的技術(shù)問題。[0007]本發(fā)明實(shí)施例提供了一種數(shù)據(jù)關(guān)聯(lián)方法,包括如下步驟:[0008]確定需要關(guān)聯(lián)的兩個數(shù)據(jù)對象;[0009]將兩個數(shù)據(jù)對象中數(shù)據(jù)量較小的數(shù)據(jù)對象以(key,value)方式放入內(nèi)存的類Hashtable結(jié)構(gòu)中,對另一數(shù)據(jù)對象中的每條記錄生成對應(yīng)的key值,通過對key值進(jìn)行哈希Hash確定每條記錄是否與內(nèi)存中的key值關(guān)聯(lián);[0010]當(dāng)存在關(guān)聯(lián)時,將所有存在關(guān)聯(lián)的記錄作為關(guān)聯(lián)后的新數(shù)據(jù)對象輸出。[0011]本發(fā)明實(shí)施例提供了一種數(shù)據(jù)關(guān)聯(lián)裝置,包括:[0012]確定模塊,用于確定需要關(guān)聯(lián)的兩個數(shù)據(jù)對象;[0013]預(yù)處理模塊,用于將兩個數(shù)據(jù)對象中數(shù)據(jù)量較小的數(shù)據(jù)對象以(key,value)方式放入內(nèi)存的類Hashtable結(jié)構(gòu)中,對另一數(shù)據(jù)對象中的每條記錄生成對應(yīng)的key值,通過對key值進(jìn)行哈希Hash確定每條記錄是否與內(nèi)存中的key值關(guān)聯(lián);[0014]關(guān)聯(lián)模塊,用于當(dāng)存在關(guān)聯(lián)時,將所有存在關(guān)聯(lián)的記錄作為關(guān)聯(lián)后的新數(shù)據(jù)對象輸出。[0015]本發(fā)明實(shí)施例所提供的技術(shù)方案,當(dāng)兩個數(shù)據(jù)對象需要關(guān)聯(lián)時,首先將其中數(shù)據(jù)量較小的數(shù)據(jù)對象以(key,value)方式放入內(nèi)存的類Hashtable結(jié)構(gòu)中,對另一個數(shù)據(jù)對象的每一條記錄生成對應(yīng)的key值,判斷另一個數(shù)據(jù)對象的每條記錄是否與內(nèi)存中的key值關(guān)聯(lián),如果關(guān)聯(lián)則作為新數(shù)據(jù)對象輸出,本發(fā)明實(shí)施例通過優(yōu)化數(shù)據(jù)對象關(guān)聯(lián)機(jī)制,只將數(shù)據(jù)對象的關(guān)聯(lián)限定為兩個數(shù)據(jù)對象之間進(jìn)行,從而可以提高后續(xù)關(guān)聯(lián)查詢、加載的效率。[0016]本發(fā)明實(shí)施例提供了一種對利用上述方法關(guān)聯(lián)的數(shù)據(jù)進(jìn)行加載的方法,包括如下步驟:[0017]接收關(guān)聯(lián)后的新數(shù)據(jù)對象;[0018]對于小數(shù)據(jù)對象關(guān)聯(lián)后的新數(shù)據(jù)對象,根據(jù)新數(shù)據(jù)對象的模式設(shè)置Hadoop平臺上指定組件的存儲模式,將新數(shù)據(jù)對象通過指定組件的加載接口加載到指定組件上;[0019]對于其中一個是大數(shù)據(jù)對象的兩個數(shù)據(jù)對象關(guān)聯(lián)后的新數(shù)據(jù)對象,直接存儲于HDFS上,當(dāng)需要加載到HBase時,根據(jù)新數(shù)據(jù)對象的模式設(shè)置HBase組件的存儲模式,利用HBase組件的接口導(dǎo)入到HBase中;當(dāng)需要加載到Hive時,根據(jù)新數(shù)據(jù)對象的模式建立外部表,并將數(shù)據(jù)對象映射到表上;[0020]對于含有分區(qū)信息的新數(shù)據(jù)對象,在HDFS上定義二級分區(qū);在沿%上建立外部表并將該數(shù)據(jù)對象映射到表上;在HBase上設(shè)置表模式后建立與Hash數(shù)量對等的表,將HDFS上的數(shù)據(jù)通過HBase組件的接口導(dǎo)入到HBase中。[0021]本發(fā)明實(shí)施例提供了一種對利用上述裝置關(guān)聯(lián)的數(shù)據(jù)進(jìn)行加載的裝置,包括:[0022]接收模塊,用于接收關(guān)聯(lián)后的新數(shù)據(jù)對象;[0023]第一加載模塊,用于根據(jù)新數(shù)據(jù)對象的模式設(shè)置Hadoop平臺上指定組件的存儲模式,將小數(shù)據(jù)對象關(guān)聯(lián)后的新數(shù)據(jù)對象通過指定組件的加載接口加載到指定組件上;[0024]第二加載模塊,用于將其中一個是大數(shù)據(jù)對象的兩個數(shù)據(jù)對象關(guān)聯(lián)后的新數(shù)據(jù)對象,直接存儲于HDFS上;當(dāng)需要將其加載到HBase時,根據(jù)新數(shù)據(jù)對象的模式設(shè)置HBase的存儲模式,利用HBase組件的接口導(dǎo)入到HBase中;當(dāng)需要將其加載到Hive時,根據(jù)新數(shù)據(jù)對象的模式建立外部表,并將數(shù)據(jù)對象映射到表上;[0025]第三加載模塊,用于為含有分區(qū)信息的新數(shù)據(jù)對象,在HDFS上定義二級分區(qū);在Hive上建立外部表并將該數(shù)據(jù)對象映射到表上;在HBase上設(shè)置表模式后建立與Hash數(shù)量對等的表,將HDFS上的數(shù)據(jù)通過HBase組件的接口導(dǎo)入到HBase中。[0026]由于本發(fā)明實(shí)施例中的數(shù)據(jù)采用上述關(guān)聯(lián)方式進(jìn)行關(guān)聯(lián),對這種方式關(guān)聯(lián)的數(shù)據(jù)進(jìn)行加載,數(shù)據(jù)對象的關(guān)聯(lián)僅限于兩個數(shù)據(jù)對象之間,采用這種方式進(jìn)行將關(guān)聯(lián)后的數(shù)據(jù)對象加載到指定的Hadoop平臺的組件上,可以在一定程序上提高加載的效率。[0027]本發(fā)明實(shí)施例提供了一種對利用上述方法關(guān)聯(lián)的數(shù)據(jù)進(jìn)行查詢的方法,包括如下步驟:[0028]接收查詢請求,請求中包括查詢字段;[0029]根據(jù)查詢字段在關(guān)聯(lián)后的新數(shù)據(jù)對象中查找并返回查詢結(jié)果。[0030]本發(fā)明實(shí)施例提供了一種對利用上述裝置關(guān)聯(lián)的數(shù)據(jù)進(jìn)行查詢的裝置,包括:[0031]查詢接口,用于接收查詢請求,請求中包括查詢字段;[0032]查詢執(zhí)行模塊,用于根據(jù)查詢字段在關(guān)聯(lián)后的新數(shù)據(jù)對象中查找并返回查詢結(jié)果O[0033]由于本發(fā)明實(shí)施例中的數(shù)據(jù)采用上述關(guān)聯(lián)方式進(jìn)行關(guān)聯(lián),對這種方式關(guān)聯(lián)的數(shù)據(jù)進(jìn)行查詢,根據(jù)查詢字段可以在關(guān)聯(lián)后的新數(shù)據(jù)對象中進(jìn)行查找,采用這種方式進(jìn)行查詢,由于關(guān)聯(lián)的數(shù)據(jù)對象為兩個數(shù)據(jù)對象,不存在多個數(shù)據(jù)對象之間的關(guān)聯(lián),從而可以方便快捷的查找到相關(guān)聯(lián)的數(shù)據(jù)?!緦@綀D】【附圖說明】[0034]下面將參照附圖描述本發(fā)明的具體實(shí)施例,其中:[0035]圖1示出了本發(fā)明實(shí)施例中數(shù)據(jù)關(guān)聯(lián)方法實(shí)施的流程示意圖;[0036]圖2示出了本發(fā)明實(shí)施例中對象關(guān)聯(lián)的流程示意圖;[0037]圖3示出了本發(fā)明實(shí)施例中對象關(guān)聯(lián)的另一流程示意圖;[0038]圖4示出了本發(fā)明實(shí)施例中數(shù)據(jù)加載方法實(shí)施的流程示意圖;[0039]圖5示出了本發(fā)明實(shí)施例中數(shù)據(jù)查詢方法實(shí)施的流程示意圖;[0040]圖6示出了本發(fā)明實(shí)施例中數(shù)據(jù)關(guān)聯(lián)裝置的結(jié)構(gòu)示意圖;[0041]圖7示出了本發(fā)明實(shí)施例中數(shù)據(jù)加載裝置的結(jié)構(gòu)示意圖;[0042]圖8示出了本發(fā)明實(shí)施例中數(shù)據(jù)查詢裝置的結(jié)構(gòu)示意圖。【具體實(shí)施方式】[0043]為了使本發(fā)明的技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖對本發(fā)明的示例性實(shí)施例進(jìn)行進(jìn)一步詳細(xì)的說明,顯然,所描述的實(shí)施例僅是本發(fā)明的一部分實(shí)施例,而不是所有實(shí)施例的窮舉。并且在不沖突的情況下,本說明中的實(shí)施例及實(shí)施例中的特征可以互相結(jié)合。[0044]本發(fā)明實(shí)施例提出了一種數(shù)據(jù)關(guān)聯(lián)、查詢、加載方法及裝置。下面進(jìn)行說明。[0045]圖1示出了本發(fā)明實(shí)施例中數(shù)據(jù)關(guān)聯(lián)方法實(shí)施的流程示意圖,如圖所示,該方法可以包括如下步驟:[0046]步驟101、確定需要關(guān)聯(lián)的兩個數(shù)據(jù)對象;[0047]步驟102、將兩個數(shù)據(jù)對象中數(shù)據(jù)量較小的數(shù)據(jù)對象以(key,value)方式放入內(nèi)存的類Hashtable結(jié)構(gòu)中,對另一數(shù)據(jù)對象中的每條記錄生成對應(yīng)的key值,通過對key值進(jìn)行哈希Hash確定每條記錄是否與內(nèi)存中的key值關(guān)聯(lián);[0048]步驟103、當(dāng)存在關(guān)聯(lián)時,將所有存在關(guān)聯(lián)的記錄作為關(guān)聯(lián)后的新數(shù)據(jù)對象輸出。[0049]本發(fā)明實(shí)施例中當(dāng)兩個數(shù)據(jù)對象需要關(guān)聯(lián)時,首先將其中數(shù)據(jù)量較小的數(shù)據(jù)對象以(key,value)方式放入內(nèi)存的類Hashtable結(jié)構(gòu)中,對另一個數(shù)據(jù)對象的每一條記錄生成對應(yīng)的key值,判斷另一個數(shù)據(jù)對象的每條記錄是否與內(nèi)存中的key值關(guān)聯(lián),如果關(guān)聯(lián)則作為新數(shù)據(jù)對象輸出,本發(fā)明實(shí)施例通過優(yōu)化數(shù)據(jù)對象關(guān)聯(lián)機(jī)制,只將數(shù)據(jù)對象的關(guān)聯(lián)限定為兩個數(shù)據(jù)對象之間進(jìn)行,從而可以提高后續(xù)關(guān)聯(lián)查詢、加載的效率。[0050]其中,數(shù)據(jù)量可以以數(shù)據(jù)對象的文件大小、數(shù)據(jù)記錄數(shù)等參數(shù)作為參考,數(shù)據(jù)量較小可以指數(shù)據(jù)對象的文件較小,也可以指數(shù)據(jù)記錄數(shù)較少,本領(lǐng)域技術(shù)人員還可以以其他參數(shù)作為數(shù)據(jù)量參考依據(jù),本發(fā)明對此不作限制。[0051]圖2示出了本發(fā)明實(shí)施例中對象關(guān)聯(lián)的流程示意圖,如圖所示,包括:[0052]步驟201、判斷是否為較小的數(shù)據(jù)對象,[0053]如果是,則執(zhí)行步驟202;[0054]如果不是,則執(zhí)行步驟203;[0055]步驟202、將該數(shù)據(jù)對象以(key,value)方式放入內(nèi)存中;[0056]步驟203、讀取該數(shù)據(jù)對象的記錄;[0057]步驟204、對存在key對應(yīng)關(guān)系的記錄進(jìn)行合并。[0058]具體實(shí)施中,可以首先確定需要兩個數(shù)據(jù)對象關(guān)聯(lián)的字段,作為key,對于key存在以下兩種情況:[0059]l)key為兩個數(shù)據(jù)對象中都存在的某個字段;[0060]2)key為兩個數(shù)據(jù)對象中需要組合的字段。[0061]在關(guān)聯(lián)時,將較小的數(shù)據(jù)對象以(key,value)方式放入內(nèi)存中,key為關(guān)聯(lián)字段的值。如果兩個數(shù)據(jù)對象存在組合關(guān)聯(lián)字段,則將相應(yīng)的字段值組合在一起后作為key值,而value則可以是該數(shù)據(jù)對象在關(guān)聯(lián)后的新數(shù)據(jù)對象中存在的字段或者字段組合的值。[0062]在判斷是否存在關(guān)聯(lián)時,對于左連接、右連接,則需要對相應(yīng)的數(shù)據(jù)對象進(jìn)行掃描一次,將標(biāo)記為未關(guān)聯(lián)的記錄輸出,即完成半外連接;而對于全連接則需要對兩個數(shù)據(jù)對象均做一次掃描,將所有未標(biāo)記的記錄輸出。[0063]其中,左連接和右連接都是外部連接,也即,區(qū)別于內(nèi)部連接,外部連接對不關(guān)聯(lián)的記錄并不是像內(nèi)部連接那樣完全過濾掉,而是保留一部分記錄(對于左連接來說,左邊表的數(shù)據(jù)必顯示;對于右連接來說,右邊表的數(shù)據(jù)必顯示),數(shù)據(jù)對象的記錄行數(shù)不會減少。[0064]實(shí)施中,可以進(jìn)一步包括:[0065]將所有數(shù)據(jù)對象根據(jù)預(yù)設(shè)的判斷閾值分成大數(shù)據(jù)對象和小數(shù)據(jù)對象。[0066]本發(fā)明實(shí)施例中,為了提高數(shù)據(jù)對象關(guān)聯(lián)的效率,將數(shù)據(jù)對象分為大數(shù)據(jù)對象和小數(shù)據(jù)對象,以選擇不同的關(guān)聯(lián)策略,通過分類后可能存在以下場景:小數(shù)據(jù)對象之間的關(guān)聯(lián)、小數(shù)據(jù)對象與大數(shù)據(jù)對象之間的關(guān)聯(lián)和大數(shù)據(jù)對象之間的關(guān)聯(lián)。[0067]其中,分類的標(biāo)準(zhǔn)可以以數(shù)據(jù)對象的文件大小、數(shù)據(jù)記錄數(shù)等作為參考,還可以進(jìn)一步根據(jù)設(shè)備的硬件環(huán)境,如內(nèi)存的大小等,設(shè)定一個判斷閾值。對于大于該閾值的數(shù)據(jù)對象,即認(rèn)為是大數(shù)據(jù)對象;小于該閾值的數(shù)據(jù)對象,即認(rèn)為是小數(shù)據(jù)對象。[0068]實(shí)施中,當(dāng)需要關(guān)聯(lián)的兩個數(shù)據(jù)對象均為小數(shù)據(jù)對象時,可以直接采用圖1所示的步驟進(jìn)行關(guān)聯(lián)。[0069]實(shí)施中,當(dāng)需要關(guān)聯(lián)的兩個數(shù)據(jù)對象中有一個是大數(shù)據(jù)對象時,可以包括:[0070]將需要關(guān)聯(lián)的大數(shù)據(jù)對象加載到分布式文件系統(tǒng)HDFS上,將小數(shù)據(jù)對象通過分布式緩存(DistributedCache)機(jī)制在Map開始前傳至內(nèi)存中,在Map執(zhí)行過程中將大數(shù)據(jù)對象與內(nèi)存中的小數(shù)據(jù)對象進(jìn)行關(guān)聯(lián);[0071]圖3示出了本發(fā)明實(shí)施例中對象關(guān)聯(lián)的另一流程示意圖,如圖所示,包括:[0072]假設(shè)數(shù)據(jù)對象I為大數(shù)據(jù)對象、數(shù)據(jù)對象2為小數(shù)據(jù)對象,將數(shù)據(jù)對象I加載到HDFS上(圖3中假設(shè)大數(shù)據(jù)對象文件切割為多個輸入分片),在Map開始前將數(shù)據(jù)對象2通過DistributedCache機(jī)制傳至內(nèi)存;在Map執(zhí)行過程中,通過多個映射器Mapper將數(shù)據(jù)對象I和數(shù)據(jù)對象2進(jìn)行關(guān)聯(lián),最終生成關(guān)聯(lián)的記錄作為新數(shù)據(jù)對象中的一部分輸出,也即圖中所示的輸出部分。[0073]本發(fā)明實(shí)施例中,對于其中一個是大數(shù)據(jù)對象的兩個數(shù)據(jù)對象關(guān)聯(lián),可以采用復(fù)制關(guān)聯(lián)(ReplicatedJoin)策略將數(shù)據(jù)對象關(guān)聯(lián)加載到Hadoop平臺上。本發(fā)明實(shí)施例在上述Map執(zhí)行過程中所有TaskTracker節(jié)點(diǎn)上的大數(shù)據(jù)對象與內(nèi)存中的小數(shù)據(jù)對象進(jìn)行關(guān)聯(lián),得到的結(jié)果即可以為最終的結(jié)果,由于沒有Reduce階段,可以降低數(shù)據(jù)在節(jié)點(diǎn)之間傳輸?shù)木W(wǎng)絡(luò)帶寬負(fù)載,同時充分利用了內(nèi)存,提高了關(guān)聯(lián)效率。[0074]實(shí)施中,當(dāng)需要關(guān)聯(lián)的兩個數(shù)據(jù)對象均為大數(shù)據(jù)對象時,可以包括:[0075]將其中一個大數(shù)據(jù)對象通過哈希函數(shù)分解為多個小數(shù)據(jù)對象,將Hash后的小數(shù)據(jù)對象和需要關(guān)聯(lián)的大數(shù)據(jù)對象寫入HDFS上,以大數(shù)據(jù)對象與每個小數(shù)據(jù)對象之間的關(guān)聯(lián)方式進(jìn)行關(guān)聯(lián),每個關(guān)聯(lián)的結(jié)果所產(chǎn)生在HDFS上的輸出的組合對應(yīng)于二級分區(qū)目錄。[0076]本發(fā)明實(shí)施例對于都是大數(shù)據(jù)對象的關(guān)聯(lián)處理可以采用分治的策略,也即,將大數(shù)據(jù)對象以數(shù)據(jù)對象的key值為鍵分解成多個小數(shù)據(jù)對象,然后按照大數(shù)據(jù)對象與小數(shù)據(jù)對象之間的關(guān)聯(lián)過程分別得到新數(shù)據(jù)對象的部分結(jié)果集文件,統(tǒng)一在某一個采用Hash分區(qū)的目錄下面,例如:/0bj/Hash_l,形成新數(shù)據(jù)對象。[0077]實(shí)施中,可以進(jìn)一步包括:[0078]當(dāng)多個數(shù)據(jù)對象需要關(guān)聯(lián)時,根據(jù)關(guān)聯(lián)字段將多個對象之間的關(guān)聯(lián)分解為每兩個對象之間的多次關(guān)聯(lián)。[0079]本發(fā)明實(shí)施例所提供的技術(shù)方案,通過借鑒在關(guān)系型數(shù)據(jù)庫里面進(jìn)行表關(guān)聯(lián)的方式,將多個數(shù)據(jù)對象之間的關(guān)聯(lián)分解為兩個數(shù)據(jù)對象之間的多次關(guān)聯(lián)過程,優(yōu)化了數(shù)據(jù)對象關(guān)聯(lián)機(jī)制,提高了數(shù)據(jù)關(guān)聯(lián)、查詢的效率。[0080]下面對本發(fā)明實(shí)施例中將多個數(shù)據(jù)對象之間的關(guān)聯(lián)分解為兩個數(shù)據(jù)對象之間的多次關(guān)聯(lián)過程,舉例如下:[0081]多個數(shù)據(jù)對象之間的關(guān)聯(lián)為:[0082]DataAJoinDataBJoinDataCOnA.1d=B.1dandB.name=C.name[0083]將上述關(guān)聯(lián)需要分解為每兩個數(shù)據(jù)對象之間的多次關(guān)聯(lián),拆分后如下:[0084]DataAJoinDataBOnA.1d=B.1d;[0085]DataABJoinDataCOnAB.name=C.name。[0086]圖4示出了本發(fā)明實(shí)施例中對利用上述關(guān)聯(lián)方法關(guān)聯(lián)的數(shù)據(jù)進(jìn)行加載的方法(可以簡稱為數(shù)據(jù)加載方法)實(shí)施的流程示意圖,如圖所示,方法可以包括:[0087]步驟401、接收關(guān)聯(lián)后的新數(shù)據(jù)對象;[0088]步驟402、對于小數(shù)據(jù)對象關(guān)聯(lián)后的新數(shù)據(jù)對象,根據(jù)新數(shù)據(jù)對象的模式設(shè)置Hadoop平臺上指定組件的存儲模式,將新數(shù)據(jù)對象通過指定組件的加載接口加載到指定組件上;[0089]步驟403、對于其中一個是大數(shù)據(jù)對象的兩個數(shù)據(jù)對象關(guān)聯(lián)后的新數(shù)據(jù)對象,直接存儲于HDFS上;當(dāng)需要加載到HBase時,根據(jù)新數(shù)據(jù)對象的模式設(shè)置生成HBase的存儲模式,再利用HBase組件的接口導(dǎo)入到HBase中;當(dāng)需要加載到Hive時,根據(jù)新數(shù)據(jù)對象的模式建立外部表,并將數(shù)據(jù)對象映射到表上;[0090]步驟404、對于含有分區(qū)信息的新數(shù)據(jù)對象,在HDFS上定義二級分區(qū);在Hive上建立外部表并將該數(shù)據(jù)對象映射到表上;在HBase上設(shè)置表模式后建立與Hash數(shù)量對等的表,將HDFS上的數(shù)據(jù)通過HBase組件的接口導(dǎo)入到HBase中。[0091]本發(fā)明實(shí)施例在對新數(shù)據(jù)對象加載到HDFS時,根據(jù)不同數(shù)據(jù)對象的關(guān)聯(lián)策略進(jìn)行關(guān)聯(lián)后,按照上述不同加載策略進(jìn)行加載。[0092]對于小數(shù)據(jù)對象關(guān)聯(lián)后的產(chǎn)生的每條記錄,根據(jù)它的數(shù)據(jù)存儲平臺,直接使用其加載接口,如HDFS的加載接口,HBase的Put接口等,直接將數(shù)據(jù)加載到新的存儲平臺。此處需要根據(jù)新數(shù)據(jù)對象的schema設(shè)計(jì)好在Hadoop平臺存儲模式,在HDFS上需要考慮目錄,文件名,字段分隔符,文件格式,壓縮模式;在HBase上,則需要設(shè)計(jì)表的模式,表名(=對象名),列簇,Rowkey(=Key);在Hive上,同樣需要建立相應(yīng)的外部表的模式,表名,屬性名,屬性數(shù)據(jù)類型,指向文件路徑。[0093]對于含有大數(shù)據(jù)對象的加載策略,由于采用MapReduce策略,需要將原數(shù)據(jù)對象先導(dǎo)入到HDFS上,然后,生成的新數(shù)據(jù)對象將直接存儲在HDFS上,如果需要將數(shù)據(jù)導(dǎo)入到HBase,則需要根據(jù)新數(shù)據(jù)對象的schema生成HBase的表名,列簇名,Rowkey,再使用Import接口將數(shù)據(jù)導(dǎo)入的HDFS的文件數(shù)據(jù)導(dǎo)入到HBase中;如果需要將數(shù)據(jù)導(dǎo)入Hive,則根據(jù)新數(shù)據(jù)對象的模式,建立好相應(yīng)的外部表,將文件映射到表上。[0094]對于含有分區(qū)信息的數(shù)據(jù)對象,在HDFS上,則按照上面描述的規(guī)則定義成某種二級分區(qū)的形成;在Hive上,則需要建立外部表,并指定partit1n規(guī)則;在HBase上,需要設(shè)計(jì)表的模式,然后建立與Hash數(shù)量對等的表,將對應(yīng)在HDFS上的數(shù)據(jù)通過Importtsv接口導(dǎo)入進(jìn)來。[0095]本發(fā)明實(shí)施例在每一次關(guān)聯(lián)加載完成后,可以進(jìn)行數(shù)據(jù)統(tǒng)計(jì)并返回統(tǒng)計(jì)結(jié)果,其中涉及的統(tǒng)計(jì)數(shù)據(jù)可以包括:[0096]1、關(guān)聯(lián)加載完成的最終結(jié)果(成功/失敗);[0097]2、關(guān)聯(lián)加載數(shù)據(jù)記錄數(shù)及其所占的比重;[0098]3、關(guān)聯(lián)加載所用的時間、平均加載速度等。[0099]本發(fā)明實(shí)施例還可以進(jìn)一步將上述統(tǒng)計(jì)結(jié)果寫入相關(guān)的日志文件,便于后續(xù)使用、查閱等。[0100]圖5示出了本發(fā)明實(shí)施例中對利用上述關(guān)聯(lián)方法關(guān)聯(lián)的數(shù)據(jù)進(jìn)行查詢的方法(可以簡稱為數(shù)據(jù)查詢方法)實(shí)施的流程示意圖,如圖所示,方法可以包括:[0101]步驟501、接收查詢請求,請求中包括查詢字段;[0102]步驟502、根據(jù)查詢字段在關(guān)聯(lián)后的新數(shù)據(jù)對象中查找并返回查詢結(jié)果。[0103]由于本發(fā)明實(shí)施例中的數(shù)據(jù)采用上述關(guān)聯(lián)方式進(jìn)行關(guān)聯(lián),對這種方式關(guān)聯(lián)的數(shù)據(jù)進(jìn)行查詢,根據(jù)查詢字段在關(guān)聯(lián)后的新數(shù)據(jù)對象中進(jìn)行查找,采用這種方式進(jìn)行查詢,由于關(guān)聯(lián)的數(shù)據(jù)對象為兩個數(shù)據(jù)對象,不存在多個數(shù)據(jù)對象之間的關(guān)聯(lián),從而可以方便快捷的查找到相關(guān)聯(lián)的數(shù)據(jù)記錄,并返回查詢結(jié)果。[0104]基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提供了一種數(shù)據(jù)關(guān)聯(lián)裝置、數(shù)據(jù)查詢裝置、數(shù)據(jù)加載裝置,由于這些設(shè)備解決問題的原理與一種數(shù)據(jù)關(guān)聯(lián)方法、數(shù)據(jù)查詢方法、數(shù)據(jù)加載方法相似,因此這些設(shè)備的實(shí)施可以參見方法的實(shí)施,重復(fù)之處不再贅述。[0105]圖6示出了本發(fā)明實(shí)施例提供的數(shù)據(jù)關(guān)聯(lián)裝置的結(jié)構(gòu)示意圖,如圖所示,裝置可以包括:[0106]確定模塊601,用于確定需要關(guān)聯(lián)的兩個數(shù)據(jù)對象;[0107]預(yù)處理模塊602,用于將兩個數(shù)據(jù)對象中數(shù)據(jù)量較小的數(shù)據(jù)對象以(key,value)方式放入內(nèi)存的類Hashtable結(jié)構(gòu)中,對另一數(shù)據(jù)對象中的每條記錄生成對應(yīng)的key值,通過對key值進(jìn)行哈希Hash判斷每條記錄是否與內(nèi)存中的key值關(guān)聯(lián);[0108]關(guān)聯(lián)模塊603,用于當(dāng)存在關(guān)聯(lián)時,將所有存在關(guān)聯(lián)的記錄作為關(guān)聯(lián)后的新數(shù)據(jù)對象輸出。[0109]實(shí)施中,可以進(jìn)一步包括:[0110]劃分模塊,用于將所有數(shù)據(jù)對象根據(jù)預(yù)設(shè)的判斷閾值分成大數(shù)據(jù)對象和小數(shù)據(jù)對象。[0111]實(shí)施中,預(yù)處理模塊602可以用于當(dāng)需要關(guān)聯(lián)的兩個數(shù)據(jù)對象中有一個是大數(shù)據(jù)對象時,將需要關(guān)聯(lián)的大數(shù)據(jù)對象加載到分HDFS上,將小數(shù)據(jù)對象通過DistributedCache機(jī)制在Map開始前傳至內(nèi)存中;關(guān)聯(lián)模塊603可以用于在Map執(zhí)行過程中將大數(shù)據(jù)對象與內(nèi)存中的小數(shù)據(jù)對象進(jìn)行關(guān)聯(lián);[0112]預(yù)處理模塊602可以用于當(dāng)需要關(guān)聯(lián)的兩個數(shù)據(jù)對象均為大數(shù)據(jù)對象時,將其中一個大數(shù)據(jù)對象通過哈希函數(shù)分解為多個小數(shù)據(jù)對象,將Hash后的小數(shù)據(jù)對象和需要關(guān)聯(lián)的大數(shù)據(jù)對象寫入HDFS上,以大數(shù)據(jù)對象與每個小數(shù)據(jù)對象之間的關(guān)聯(lián)方式進(jìn)行關(guān)聯(lián);關(guān)聯(lián)模塊603可以用于將每個關(guān)聯(lián)的結(jié)果所產(chǎn)生在HDFS上的輸出的組合對應(yīng)于二級分區(qū)目錄。[0113]實(shí)施中,可以進(jìn)一步包括:[0114]分解模塊,用于當(dāng)多個數(shù)據(jù)對象需要關(guān)聯(lián)時,根據(jù)關(guān)聯(lián)字段將多個對象之間的關(guān)聯(lián)分解為每兩個對象之間的多次關(guān)聯(lián)。[0115]圖7示出了本發(fā)明實(shí)施例中對利用上述關(guān)聯(lián)裝置關(guān)聯(lián)的數(shù)據(jù)進(jìn)行加載的裝置(可以簡稱為數(shù)據(jù)加載裝置),如圖所示,數(shù)據(jù)加載裝置可以包括:[0116]接收模塊701,用于接收關(guān)聯(lián)后的新數(shù)據(jù)對象;[0117]第一加載模塊702,用于根據(jù)新數(shù)據(jù)對象的模式設(shè)置Hadoop平臺上指定組件的存儲模式,將小數(shù)據(jù)對象關(guān)聯(lián)后的新數(shù)據(jù)對象通過指定組件的加載接口加載到指定組件上;[0118]第二加載模塊703,用于將其中一個是大數(shù)據(jù)對象的兩個數(shù)據(jù)對象關(guān)聯(lián)后的新數(shù)據(jù)對象,直接存儲于HDFS上;當(dāng)需要將新數(shù)據(jù)對象加載到HBase時,根據(jù)新數(shù)據(jù)對象的模式設(shè)置HBase組件的存儲模式,利用HBase組件的接口導(dǎo)入到HBase中;當(dāng)需要將新數(shù)據(jù)對象加載到Hive時,根據(jù)新數(shù)據(jù)對象的模式建立外部表,并將數(shù)據(jù)對象映射到表上;[0119]第三加載模塊704,用于為含有分區(qū)信息的新數(shù)據(jù)對象,在HDFS上定義二級分區(qū);在Hive上建立外部表并將該數(shù)據(jù)對象映射到表上;在HBase上設(shè)置表模式后建立與Hash數(shù)量對等的表,將HDFS上的數(shù)據(jù)通過HBase組件的接口導(dǎo)入到HBase中。[0120]圖8示出了本發(fā)明實(shí)施例中對利用上述關(guān)聯(lián)裝置關(guān)聯(lián)的數(shù)據(jù)進(jìn)行查詢的裝置(可以簡稱為數(shù)據(jù)查詢裝置),如圖所示,數(shù)據(jù)查詢裝置可以包括:[0121]查詢接口801,用于接收查詢請求,請求中包括查詢字段;[0122]查詢執(zhí)行模塊802,用于根據(jù)查詢字段在關(guān)聯(lián)后的新數(shù)據(jù)對象中查找并返回查詢結(jié)果。[0123]上述實(shí)施例中,均可以采用現(xiàn)有的功能元器件模塊來實(shí)施。例如,確定模塊可以為任意一個具備數(shù)據(jù)確定功能的設(shè)備都具備的元器件;預(yù)處理模塊則是任意一個具備數(shù)據(jù)處理功能的設(shè)備都具備的元器件,至少,現(xiàn)有數(shù)據(jù)處理技術(shù)中采用的服務(wù)器上便具備實(shí)現(xiàn)該功能元器件;至于關(guān)聯(lián)模塊,則是任意一個具備數(shù)據(jù)關(guān)聯(lián)功能的設(shè)備都具備的元器件;劃分模塊可以為任意一個具備數(shù)據(jù)區(qū)分功能的設(shè)備都具備的元器件;分解模塊則是任意一個具備關(guān)聯(lián)分解功能的設(shè)備都具備的元器件,本領(lǐng)域技術(shù)人員經(jīng)過相應(yīng)的設(shè)計(jì)開發(fā)即可實(shí)現(xiàn);同時,查詢模塊可以是任意一個具備查詢功能都具備的元器件;接收模塊可以是任意一個具備數(shù)據(jù)接收功能的設(shè)備都具備的元器件;加載模塊采用的數(shù)據(jù)加載手段軍可以采用現(xiàn)有的方式,本領(lǐng)域技術(shù)人員經(jīng)過相應(yīng)的設(shè)計(jì)開發(fā)即可實(shí)現(xiàn)。[0124]為了描述的方便,以上所述裝置的各部分以功能分為各種模塊或單元分別描述。當(dāng)然,在實(shí)施本發(fā)明時可以把各模塊或單元的功能在同一個或多個軟件或硬件中實(shí)現(xiàn)。[0125]本發(fā)明實(shí)施例所提供的技術(shù)方案,可以在數(shù)據(jù)量比較大(100TB級以上)的情況下,將多個數(shù)據(jù)對象更有效率的加載到Hadoop平臺上,解決了現(xiàn)有技術(shù)中在數(shù)據(jù)量急劇增大的情況下出現(xiàn)的關(guān)聯(lián)查詢性能存在瓶頸等技術(shù)問題。[0126]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。[0127]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。[0128]這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。[0129]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。[0130]盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改?!緳?quán)利要求】1.一種數(shù)據(jù)關(guān)聯(lián)方法,其特征在于,包括如下步驟:確定需要關(guān)聯(lián)的兩個數(shù)據(jù)對象;將兩個數(shù)據(jù)對象中數(shù)據(jù)量較小的數(shù)據(jù)對象以(key,value)方式放入內(nèi)存的類Hashtable結(jié)構(gòu)中,對另一數(shù)據(jù)對象中的每條記錄生成對應(yīng)的key值,通過對key值進(jìn)行哈希Hash確定每條記錄是否與內(nèi)存中的key值關(guān)聯(lián);當(dāng)存在關(guān)聯(lián)時,將所有存在關(guān)聯(lián)的記錄作為關(guān)聯(lián)后的新數(shù)據(jù)對象輸出。2.如權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括:將所有數(shù)據(jù)對象根據(jù)預(yù)設(shè)的判斷閾值分成大數(shù)據(jù)對象和小數(shù)據(jù)對象。3.如權(quán)利要求2所述的方法,其特征在于,當(dāng)需要關(guān)聯(lián)的兩個數(shù)據(jù)對象中有一個是大數(shù)據(jù)對象時,包括:將需要關(guān)聯(lián)的大數(shù)據(jù)對象加載到分布式文件系統(tǒng)HDFS上,將小數(shù)據(jù)對象通過分布式緩存DistributedCache機(jī)制在Map開始前傳至內(nèi)存中,在Map執(zhí)行過程中將大數(shù)據(jù)對象與內(nèi)存中的小數(shù)據(jù)對象進(jìn)行關(guān)聯(lián);當(dāng)需要關(guān)聯(lián)的兩個數(shù)據(jù)對象均為大數(shù)據(jù)對象時,包括:將其中一個大數(shù)據(jù)對象通過哈希函數(shù)分解為多個小數(shù)據(jù)對象,將Hash后的小數(shù)據(jù)對象和需要關(guān)聯(lián)的大數(shù)據(jù)對象寫入HDFS上,以大數(shù)據(jù)對象與每個小數(shù)據(jù)對象之間的關(guān)聯(lián)方式進(jìn)行關(guān)聯(lián),每個關(guān)聯(lián)的結(jié)果所產(chǎn)生在HDFS上的輸出的組合對應(yīng)于二級分區(qū)目錄。4.如權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括:當(dāng)多個數(shù)據(jù)對象需要關(guān)聯(lián)時,根據(jù)關(guān)聯(lián)字段將多個對象之間的關(guān)聯(lián)分解為每兩個對象之間的多次關(guān)聯(lián)。5.一種對利用如權(quán)利要求1至4任一所述方法關(guān)聯(lián)的數(shù)據(jù)進(jìn)行加載的方法,其特征在于,包括:接收關(guān)聯(lián)后的新數(shù)據(jù)對象;對于小數(shù)據(jù)對象關(guān)聯(lián)后的新數(shù)據(jù)對象,根據(jù)新數(shù)據(jù)對象的模式設(shè)置Hadoop平臺上指定組件的存儲模式,將所述新數(shù)據(jù)對象通過所述指定組件的加載接口加載到指定組件上;對于其中一個是大數(shù)據(jù)對象的兩個數(shù)據(jù)對象關(guān)聯(lián)后的新數(shù)據(jù)對象,直接存儲于HDFS上;當(dāng)需要加載到HBase時,根據(jù)新數(shù)據(jù)對象的模式設(shè)置HBase組件的存儲模式,利用HBase組件的接口導(dǎo)入到HBase中;當(dāng)需要加載到Hive時,根據(jù)新數(shù)據(jù)對象的模式建立外部表,并將該數(shù)據(jù)對象映射到表上;對于含有分區(qū)信息的新數(shù)據(jù)對象,在HDFS上定義二級分區(qū);在Hive上建立外部表并將該數(shù)據(jù)對象映射到表上;在HBase上設(shè)置表模式后建立與Hash數(shù)量對等的表,將HDFS上的數(shù)據(jù)通過HBase組件的接口導(dǎo)入到HBase中。6.一種對利用如權(quán)利要求1至4任一所述方法關(guān)聯(lián)的數(shù)據(jù)進(jìn)行查詢的方法,其特征在于,包括:接收查詢請求,所述請求中包括查詢字段;根據(jù)所述查詢字段在所述關(guān)聯(lián)后的新數(shù)據(jù)對象中查找并返回查詢結(jié)果。7.一種數(shù)據(jù)關(guān)聯(lián)裝置,其特征在于,包括:確定模塊,用于確定需要關(guān)聯(lián)的兩個數(shù)據(jù)對象;預(yù)處理模塊,用于將兩個數(shù)據(jù)對象中數(shù)據(jù)量較小的數(shù)據(jù)對象以(key,value)方式放入內(nèi)存的類Hashtable結(jié)構(gòu)中,對另一數(shù)據(jù)對象中的每條記錄生成對應(yīng)的key值,通過對key值進(jìn)行哈希Hash確定每條記錄是否與內(nèi)存中的key值關(guān)聯(lián);關(guān)聯(lián)模塊,用于當(dāng)存在關(guān)聯(lián)時,將所有存在關(guān)聯(lián)的記錄作為關(guān)聯(lián)后的新數(shù)據(jù)對象輸出。8.如權(quán)利要求7所述的裝置,其特征在于,進(jìn)一步包括:劃分模塊,用于將所有數(shù)據(jù)對象根據(jù)預(yù)設(shè)的判斷閾值分成大數(shù)據(jù)對象和小數(shù)據(jù)對象。9.如權(quán)利要求8所述的裝置,其特征在于,所述預(yù)處理模塊用于當(dāng)需要關(guān)聯(lián)的兩個數(shù)據(jù)對象中有一個是大數(shù)據(jù)對象時,將需要關(guān)聯(lián)的大數(shù)據(jù)對象加載到分HDFS上,將小數(shù)據(jù)對象通過DistributedCache機(jī)制在Map開始前傳至內(nèi)存中;所述關(guān)聯(lián)模塊用于在Map執(zhí)行過程中將大數(shù)據(jù)對象與內(nèi)存中的小數(shù)據(jù)對象進(jìn)行關(guān)聯(lián);所述預(yù)處理模塊用于當(dāng)需要關(guān)聯(lián)的兩個數(shù)據(jù)對象均為大數(shù)據(jù)對象時,將其中一個大數(shù)據(jù)對象通過哈希函數(shù)分解為多個小數(shù)據(jù)對象,將Hash后的小數(shù)據(jù)對象和需要關(guān)聯(lián)的大數(shù)據(jù)對象寫入HDFS上,以大數(shù)據(jù)對象與每個小數(shù)據(jù)對象之間的關(guān)聯(lián)方式進(jìn)行關(guān)聯(lián);所述關(guān)聯(lián)模塊用于將每個關(guān)聯(lián)的結(jié)果所產(chǎn)生在HDFS上的輸出的組合對應(yīng)于二級分區(qū)目錄。10.如權(quán)利要求7所述的裝置,其特征在于,進(jìn)一步包括:分解模塊,用于當(dāng)多個數(shù)據(jù)對象需要關(guān)聯(lián)時,根據(jù)關(guān)聯(lián)字段將多個對象之間的關(guān)聯(lián)分解為每兩個對象之間的多次關(guān)聯(lián)。11.一種對利用如權(quán)利要求7至10任一所述裝置關(guān)聯(lián)的數(shù)據(jù)進(jìn)行加載的裝置,其特征在于,包括:接收模塊,用于接收關(guān)聯(lián)后的新數(shù)據(jù)對象;第一加載模塊,用于根據(jù)新數(shù)據(jù)對象的模式設(shè)置Hadoop平臺上指定組件的存儲模式,將小數(shù)據(jù)對象關(guān)聯(lián)后的新數(shù)據(jù)對象通過指定組件的加載接口加載到所述指定組件上;第二加載模塊,用于將其中一個是大數(shù)據(jù)對象的兩個數(shù)據(jù)對象關(guān)聯(lián)后的新數(shù)據(jù)對象,直接存儲于HDFS上;當(dāng)需要將其加載到HBase時,根據(jù)新數(shù)據(jù)對象的模式設(shè)置HBase組件的存儲模式,利用HBase組件的接口導(dǎo)入到HBase中;當(dāng)需要將其加載到Hive時,根據(jù)新數(shù)據(jù)對象的模式建立外部表,并將該數(shù)據(jù)對象映射到表上;第三加載模塊,用于為含有分區(qū)信息的新數(shù)據(jù)對象,在HDFS上定義二級分區(qū);在Hive上建立外部表并將該數(shù)據(jù)對象映射到表上;在HBase上設(shè)置表模式后建立與Hash數(shù)量對等的表,將HDFS上的數(shù)據(jù)通過HBase組件的接口導(dǎo)入到HBase中。12.—種對利用如權(quán)利要求7至10任一所述裝置關(guān)聯(lián)的數(shù)據(jù)進(jìn)行查詢的裝置,其特征在于,包括:查詢接口,用于接收查詢請求,所述請求中包括查詢字段;查詢執(zhí)行模塊,用于根據(jù)所述查詢字段在所述關(guān)聯(lián)后的新數(shù)據(jù)對象中查找并返回查詢結(jié)果。【文檔編號】G06F17/30GK104408159SQ201410734165【公開日】2015年3月11日申請日期:2014年12月4日優(yōu)先權(quán)日:2014年12月4日【發(fā)明者】黃小川,惠潤海,宋懷明申請人:曙光信息產(chǎn)業(yè)(北京)有限公司