本公開涉及大數(shù)據(jù),具體為分布式數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入。
背景技術(shù):
1、隨著大數(shù)據(jù)技術(shù)的普及,越來越多的企業(yè)引入大數(shù)據(jù)技術(shù)棧,并使用大數(shù)據(jù)技術(shù)對海量數(shù)據(jù)進(jìn)行處理與挖掘,然后把計(jì)算結(jié)果傳輸給下游系統(tǒng)進(jìn)行使用。
2、目前,傳統(tǒng)的分布式數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入是將導(dǎo)入數(shù)據(jù)拼成sql(structured?querylanguage,結(jié)構(gòu)化查詢語言),通過sql執(zhí)行的方式進(jìn)行數(shù)據(jù)導(dǎo)入。
技術(shù)實(shí)現(xiàn)思路
1、本公開實(shí)施例提出了一種數(shù)據(jù)導(dǎo)入方法、裝置、設(shè)備、存儲介質(zhì)以及程序產(chǎn)品。
2、第一方面,本公開實(shí)施例提出了一種數(shù)據(jù)導(dǎo)入方法,包括:讀取導(dǎo)入源文件;對導(dǎo)入源文件進(jìn)行解析,得到存儲器可識別的底層編碼數(shù)據(jù);掃描底層編碼數(shù)據(jù),得到分片對應(yīng)的底層編碼數(shù)據(jù)文件;將分片對應(yīng)的底層編碼數(shù)據(jù)文件發(fā)送給對應(yīng)的存儲器集合,以使存儲器集合中的存儲器將分片對應(yīng)的底層編碼數(shù)據(jù)文件寫入分片。
3、第二方面,本公開實(shí)施例提出了一種數(shù)據(jù)導(dǎo)入裝置,包括:讀取模塊,被配置成讀取導(dǎo)入源文件;解析模塊,被配置成對導(dǎo)入源文件進(jìn)行解析,得到存儲器可識別的底層編碼數(shù)據(jù);掃描模塊,被配置成掃描底層編碼數(shù)據(jù),得到分片對應(yīng)的底層編碼數(shù)據(jù)文件;發(fā)送模塊,被配置成將分片對應(yīng)的底層編碼數(shù)據(jù)文件發(fā)送給對應(yīng)的存儲器集合,以使存儲器集合中的存儲器將分片對應(yīng)的底層編碼數(shù)據(jù)文件寫入分片。
4、第三方面,本公開實(shí)施例提出了一種電子設(shè)備,包括:至少一個(gè)處理器;以及與至少一個(gè)處理器通信連接的存儲器;其中,存儲器存儲有可被至少一個(gè)處理器執(zhí)行的指令,指令被至少一個(gè)處理器執(zhí)行,以使至少一個(gè)處理器能夠執(zhí)行如第一方面中任一實(shí)現(xiàn)方式描述的方法。
5、第四方面,本公開實(shí)施例提出了一種存儲有計(jì)算機(jī)指令的非瞬時(shí)計(jì)算機(jī)可讀存儲介質(zhì),計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行如第一方面中任一實(shí)現(xiàn)方式描述的方法。
6、第五方面,本公開實(shí)施例提出了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,計(jì)算機(jī)程序在被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面中任一實(shí)現(xiàn)方式描述的方法。
7、本公開實(shí)施例提供的數(shù)據(jù)導(dǎo)入方法,dm模塊讀取導(dǎo)入源文件,將每一行數(shù)據(jù)直接解析成store模塊能直接識別的底層編碼數(shù)據(jù)。當(dāng)所有數(shù)據(jù)處理完后,掃描出每個(gè)分片對應(yīng)底層編碼數(shù)據(jù)文件。直接將這些底層編碼數(shù)據(jù)文件發(fā)送給對應(yīng)的分片的所有副本進(jìn)行吸收處理,完成數(shù)據(jù)的導(dǎo)入。本公開的數(shù)據(jù)導(dǎo)入方案的數(shù)據(jù)鏈路為:導(dǎo)入源文件->dm->store,導(dǎo)入鏈路更短。并且,優(yōu)化數(shù)據(jù)鏈路,完全省去了db模塊的開銷。將計(jì)算生成store模塊識別的底層編碼數(shù)據(jù)的開銷外置到dm模塊,store模塊只需簡單的接收文件消化即可,節(jié)省了store模塊的cpu開銷。此外,dm模塊可以攢幾百萬或者上億行數(shù)據(jù)一次性發(fā)送給store模塊進(jìn)行吸收處理,減輕了store模塊一致性協(xié)議同步的開銷。從而實(shí)現(xiàn)了一種基于數(shù)據(jù)庫底層格式文件的分布式數(shù)據(jù)庫數(shù)據(jù)快速導(dǎo)入技術(shù)。
8、應(yīng)當(dāng)理解,本部分所描述的內(nèi)容并非旨在標(biāo)識本公開的實(shí)施例的關(guān)鍵或重要特征,也不用于限制本公開的范圍。本公開的其它特征將通過以下的說明書而變得容易理解。
1.一種數(shù)據(jù)導(dǎo)入方法,包括:
2.根據(jù)權(quán)利要求1所述的方法,其中,所述掃描所述底層編碼數(shù)據(jù),得到分片對應(yīng)的底層編碼數(shù)據(jù)文件,包括:
3.根據(jù)權(quán)利要求1所述的方法,其中,所述將所述分片對應(yīng)的底層編碼數(shù)據(jù)文件發(fā)送給對應(yīng)的存儲器集合,包括:
4.根據(jù)權(quán)利要求3所述的方法,其中,所述將所述分片對應(yīng)的底層編碼數(shù)據(jù)文件發(fā)送給對應(yīng)的存儲器集合,還包括:
5.根據(jù)權(quán)利要求1所述的方法,其中,所述方法還包括:
6.根據(jù)權(quán)利要求1所述的方法,其中,所述方法還包括:
7.根據(jù)權(quán)利要求1所述的方法,其中,所述對所述導(dǎo)入源文件進(jìn)行解析,得到存儲器可識別的底層編碼數(shù)據(jù),包括:
8.根據(jù)權(quán)利要求7所述的方法,其中,所述數(shù)據(jù)庫類型是圖數(shù)據(jù)庫,所述底層編碼格式是鍵值對key-value格式;以及
9.一種數(shù)據(jù)導(dǎo)入裝置,包括:
10.根據(jù)權(quán)利要求9所述的裝置,其中,所述掃描模塊進(jìn)一步被配置成:
11.根據(jù)權(quán)利要求9所述的裝置,其中,所述發(fā)送模塊進(jìn)一步被配置成:
12.根據(jù)權(quán)利要求11所述的裝置,其中,所述發(fā)送模塊進(jìn)一步被配置成:
13.根據(jù)權(quán)利要求9所述的裝置,其中,所述裝置還包括:
14.根據(jù)權(quán)利要求9所述的裝置,其中,所述裝置還包括:
15.根據(jù)權(quán)利要求9所述的裝置,其中,所述解析模塊進(jìn)一步被配置成:
16.根據(jù)權(quán)利要求15所述的裝置,其中,所述數(shù)據(jù)庫類型是圖數(shù)據(jù)庫,所述底層編碼格式是鍵值對key-value格式;以及
17.一種電子設(shè)備,包括:
18.一種存儲有計(jì)算機(jī)指令的非瞬時(shí)計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)指令用于使所述計(jì)算機(jī)執(zhí)行權(quán)利要求1-8中任一項(xiàng)所述的方法。
19.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序在被處理器執(zhí)行時(shí)實(shí)現(xiàn)根據(jù)權(quán)利要求1-8中任一項(xiàng)所述的方法。