本發(fā)明涉及數(shù)據(jù)處理,具體而言,涉及一種采用分布式數(shù)據(jù)庫的批量入庫方法、裝置、服務(wù)器及介質(zhì)。
背景技術(shù):
1、隨著互聯(lián)網(wǎng)的快速發(fā)展,大量的數(shù)據(jù)被產(chǎn)生和收集。如何有效地處理和挖掘這些數(shù)據(jù),已經(jīng)成為一個亟待解決的問題。
2、在現(xiàn)有技術(shù)中,gpcopy是一個數(shù)據(jù)遷移實用程序,可以在不同集群之間進行傳輸數(shù)據(jù),可以將異構(gòu)數(shù)據(jù)庫的元數(shù)據(jù)和數(shù)據(jù)復(fù)制到greenplum數(shù)據(jù)庫中。gpcopy可以遷移數(shù)據(jù)庫的全部內(nèi)容,包括數(shù)據(jù)庫架構(gòu)、表數(shù)據(jù)、索引、視圖、角色、用戶自定義函數(shù)、資源隊列、資源組。
3、flink作為流批一體的數(shù)倉架構(gòu),流批作業(yè)使用同一sql,使研發(fā)效率得到了提升。但是,gpcopy在flink實時任務(wù)的執(zhí)行過程中,由于數(shù)據(jù)量小,執(zhí)行效率低,在批量任務(wù)的場景下效率相對不高。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的在于,針對上述現(xiàn)有技術(shù)中的不足,本申請?zhí)峁┝艘环N采用分布式數(shù)據(jù)庫的批量入庫方法、裝置、服務(wù)器及介質(zhì),以解決現(xiàn)有技術(shù)中在批量任務(wù)的場景下效率相對不高等問題。
2、為實現(xiàn)上述目的,本申請實施例采用的技術(shù)方案如下:
3、第一方面,本申請實施例提供一種采用分布式數(shù)據(jù)庫的批量入庫方法,應(yīng)用于集成有流批一體計算引擎的服務(wù)器,所述流批一體計算引擎上預(yù)先集成有針對目標(biāo)分布式數(shù)據(jù)庫的數(shù)據(jù)裝載執(zhí)行器,所述方法包括:
4、采用所述數(shù)據(jù)裝載執(zhí)行器獲取所述流批一體計算引擎針對目標(biāo)業(yè)務(wù)數(shù)據(jù)庫的批量數(shù)據(jù)裝載任務(wù)的任務(wù)配置信息;
5、采用所述數(shù)據(jù)裝載執(zhí)行器,根據(jù)所述任務(wù)配置信息,生成控制文件;
6、采用所述數(shù)據(jù)裝載執(zhí)行器,基于所述任務(wù)配置信息,從所述目標(biāo)業(yè)務(wù)數(shù)據(jù)庫拉取批量業(yè)務(wù)數(shù)據(jù),并基于所述批量業(yè)務(wù)數(shù)據(jù),生成數(shù)據(jù)文件;
7、采用所述數(shù)據(jù)裝載執(zhí)行器,根據(jù)所述控制文件,執(zhí)行預(yù)設(shè)數(shù)據(jù)裝載命令,以將所述數(shù)據(jù)文件寫入至所述目標(biāo)分布式數(shù)據(jù)庫。
8、可選地,所述采用所述數(shù)據(jù)裝載執(zhí)行器,根據(jù)所述任務(wù)配置信息,生成控制文件,包括:
9、采用所述數(shù)據(jù)裝載執(zhí)行器,對所述任務(wù)配置信息進行元數(shù)據(jù)解析,得到所述目標(biāo)業(yè)務(wù)數(shù)據(jù)庫的數(shù)據(jù)庫信息,以及所述目標(biāo)分布式數(shù)據(jù)庫的數(shù)據(jù)表信息;
10、采用所述數(shù)據(jù)裝載執(zhí)行器,根據(jù)所述數(shù)據(jù)庫信息,以及所述數(shù)據(jù)表信息,生成所述控制文件。
11、可選地,所述采用所述數(shù)據(jù)裝載執(zhí)行器,基于所述任務(wù)配置信息,從所述目標(biāo)業(yè)務(wù)數(shù)據(jù)庫拉取批量業(yè)務(wù)數(shù)據(jù),并基于所述批量業(yè)務(wù)數(shù)據(jù),生成數(shù)據(jù)文件,包括:
12、采用所述數(shù)據(jù)裝載執(zhí)行器,基于所述數(shù)據(jù)庫信息,從所述目標(biāo)業(yè)務(wù)數(shù)據(jù)庫拉取所述批量業(yè)務(wù)數(shù)據(jù);
13、采用所述數(shù)據(jù)裝載執(zhí)行器,基于所述數(shù)據(jù)表信息以及所述批量業(yè)務(wù)數(shù)據(jù),生成所述數(shù)據(jù)文件。
14、可選地,所述采用所述數(shù)據(jù)裝載執(zhí)行器,根據(jù)所述控制文件,執(zhí)行預(yù)設(shè)數(shù)據(jù)裝載命令,以將所述數(shù)據(jù)文件寫入至所述目標(biāo)分布式數(shù)據(jù)庫,包括:
15、采用所述數(shù)據(jù)裝載執(zhí)行器在所述預(yù)設(shè)數(shù)據(jù)裝載命令啟動成功后,啟動預(yù)設(shè)文件磁盤服務(wù),通過所述預(yù)設(shè)文件磁盤服務(wù)將所述數(shù)據(jù)文件傳輸至所述目標(biāo)分布式數(shù)據(jù)庫,使得所述目標(biāo)分布式數(shù)據(jù)庫以外部表方式通過所述預(yù)設(shè)文件磁盤服務(wù)加載所述數(shù)據(jù)文件,并將所述數(shù)據(jù)文件中的數(shù)據(jù)合并至所述目標(biāo)分布式數(shù)據(jù)庫。
16、可選地,所述采用所述數(shù)據(jù)裝載執(zhí)行器在所述預(yù)設(shè)數(shù)據(jù)裝載命令啟動成功后,啟動預(yù)設(shè)文件磁盤服務(wù),通過所述預(yù)設(shè)文件磁盤服務(wù)將所述數(shù)據(jù)文件傳輸至所述目標(biāo)分布式數(shù)據(jù)庫之后,所述方法還包括:
17、采用所述數(shù)據(jù)裝載執(zhí)行,刪除所述數(shù)據(jù)文件。
18、可選地,所述目標(biāo)業(yè)務(wù)數(shù)據(jù)庫的數(shù)據(jù)庫信息包括:目標(biāo)數(shù)據(jù)庫的標(biāo)識、目標(biāo)端口、目標(biāo)賬戶;
19、所述目標(biāo)分布式數(shù)據(jù)庫的數(shù)據(jù)表信息包括:目標(biāo)數(shù)據(jù)表的表名、所述目標(biāo)數(shù)據(jù)表的字段、主鍵信息。
20、可選地,所述采用所述數(shù)據(jù)裝載執(zhí)行器,根據(jù)所述控制文件,執(zhí)行預(yù)設(shè)數(shù)據(jù)裝載命令,以將所述數(shù)據(jù)文件寫入至所述目標(biāo)分布式數(shù)據(jù)庫,包括:
21、采用所述數(shù)據(jù)裝載執(zhí)行器,根據(jù)所述控制文件,執(zhí)行預(yù)設(shè)數(shù)據(jù)裝載命令,以將所述數(shù)據(jù)文件寫入至所述目標(biāo)數(shù)據(jù)表。
22、第二方面,本申請實施例提供一種采用分布式數(shù)據(jù)庫的批量業(yè)務(wù)數(shù)據(jù)入庫裝置,應(yīng)用于集成有流批一體計算引擎的服務(wù)器,所述流批一體計算引擎上預(yù)先集成有針對目標(biāo)分布式數(shù)據(jù)庫的數(shù)據(jù)裝載執(zhí)行器,所述裝置包括:
23、獲取模塊,用于采用所述數(shù)據(jù)裝載執(zhí)行器獲取所述流批一體計算引擎針對目標(biāo)業(yè)務(wù)數(shù)據(jù)庫的批量數(shù)據(jù)裝載任務(wù)的任務(wù)配置信息;
24、生成模塊,用于采用所述數(shù)據(jù)裝載執(zhí)行器,根據(jù)所述任務(wù)配置信息,生成控制文件;
25、拉取模塊,用于采用所述數(shù)據(jù)裝載執(zhí)行器,基于所述任務(wù)配置信息,從所述目標(biāo)業(yè)務(wù)數(shù)據(jù)庫拉取批量業(yè)務(wù)數(shù)據(jù),并基于所述批量業(yè)務(wù)數(shù)據(jù),生成數(shù)據(jù)文件;
26、裝載模塊,用于采用所述數(shù)據(jù)裝載執(zhí)行器,根據(jù)所述控制文件,執(zhí)行預(yù)設(shè)數(shù)據(jù)裝載命令,以將所述數(shù)據(jù)文件寫入至所述目標(biāo)分布式數(shù)據(jù)庫。
27、第三方面,本申請實施例提供一種服務(wù)器,包括:處理器、存儲介質(zhì),所述處理器與所述存儲介質(zhì)之間通過總線通信連接,所述存儲介質(zhì)存儲有所述處理器可執(zhí)行的程序指令,所述處理器調(diào)用存儲介質(zhì)中存儲的程序,以執(zhí)行如上述第一方面任一所述的采用分布式數(shù)據(jù)庫的批量入庫方法的步驟。
28、第四方面,本申請實施例提供一種存儲介質(zhì),所述存儲介質(zhì)上存儲有計算機程序,所述計算機程序被處理器運行時執(zhí)行如上述第一方面任一所述的采用分布式數(shù)據(jù)庫的批量入庫方法的步驟。
29、相對于現(xiàn)有技術(shù)而言,本申請具有以下有益效果:
30、本申請?zhí)峁┝艘环N采用分布式數(shù)據(jù)庫的批量入庫方法、裝置、服務(wù)器及介質(zhì)。該方法采用數(shù)據(jù)裝載執(zhí)行器獲取流批一體計算引擎針對目標(biāo)業(yè)務(wù)數(shù)據(jù)庫的批量數(shù)據(jù)裝載任務(wù)的任務(wù)配置信息;采用數(shù)據(jù)裝載執(zhí)行器,根據(jù)任務(wù)配置信息,生成控制文件;采用數(shù)據(jù)裝載執(zhí)行器,基于任務(wù)配置信息,從目標(biāo)業(yè)務(wù)數(shù)據(jù)庫拉取批量業(yè)務(wù)數(shù)據(jù),并基于批量業(yè)務(wù)數(shù)據(jù),生成數(shù)據(jù)文件;采用數(shù)據(jù)裝載執(zhí)行器,根據(jù)控制文件,執(zhí)行預(yù)設(shè)數(shù)據(jù)裝載命令,以將數(shù)據(jù)文件寫入至目標(biāo)分布式數(shù)據(jù)庫。從而,節(jié)約了資源,提高了批量任務(wù)的場景下數(shù)據(jù)入庫效率。
1.一種采用分布式數(shù)據(jù)庫的批量入庫方法,其特征在于,應(yīng)用于集成有流批一體計算引擎的服務(wù)器,所述流批一體計算引擎上預(yù)先集成有針對目標(biāo)分布式數(shù)據(jù)庫的數(shù)據(jù)裝載執(zhí)行器,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述采用所述數(shù)據(jù)裝載執(zhí)行器,根據(jù)所述任務(wù)配置信息,生成控制文件,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述采用所述數(shù)據(jù)裝載執(zhí)行器,基于所述任務(wù)配置信息,從所述目標(biāo)業(yè)務(wù)數(shù)據(jù)庫拉取批量業(yè)務(wù)數(shù)據(jù),并基于所述批量業(yè)務(wù)數(shù)據(jù),生成數(shù)據(jù)文件,包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述采用所述數(shù)據(jù)裝載執(zhí)行器,根據(jù)所述控制文件,執(zhí)行預(yù)設(shè)數(shù)據(jù)裝載命令,以將所述數(shù)據(jù)文件寫入至所述目標(biāo)分布式數(shù)據(jù)庫,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述采用所述數(shù)據(jù)裝載執(zhí)行器在所述預(yù)設(shè)數(shù)據(jù)裝載命令啟動成功后,啟動預(yù)設(shè)文件磁盤服務(wù),通過所述預(yù)設(shè)文件磁盤服務(wù)將所述數(shù)據(jù)文件傳輸至所述目標(biāo)分布式數(shù)據(jù)庫之后,所述方法還包括:
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述目標(biāo)業(yè)務(wù)數(shù)據(jù)庫的數(shù)據(jù)庫信息包括:目標(biāo)數(shù)據(jù)庫的標(biāo)識、目標(biāo)端口、目標(biāo)賬戶;
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述采用所述數(shù)據(jù)裝載執(zhí)行器,根據(jù)所述控制文件,執(zhí)行預(yù)設(shè)數(shù)據(jù)裝載命令,以將所述數(shù)據(jù)文件寫入至所述目標(biāo)分布式數(shù)據(jù)庫,包括:
8.一種采用分布式數(shù)據(jù)庫的批量業(yè)務(wù)數(shù)據(jù)入庫裝置,其特征在于,應(yīng)用于集成有流批一體計算引擎的服務(wù)器,所述流批一體計算引擎上預(yù)先集成有針對目標(biāo)分布式數(shù)據(jù)庫的數(shù)據(jù)裝載執(zhí)行器,所述裝置包括:
9.一種服務(wù)器,其特征在于,包括:處理器、存儲介質(zhì),所述處理器與所述存儲介質(zhì)之間通過總線通信連接,所述存儲介質(zhì)存儲有所述處理器可執(zhí)行的程序指令,所述處理器調(diào)用存儲介質(zhì)中存儲的程序,以執(zhí)行如上述權(quán)利要求1-7任一所述的采用分布式數(shù)據(jù)庫的批量入庫方法的步驟。
10.一種存儲介質(zhì),其特征在于,所述存儲介質(zhì)上存儲有計算機程序,所述計算機程序被處理器運行時執(zhí)行如上述權(quán)利要求1-7任一所述的采用分布式數(shù)據(jù)庫的批量入庫方法的步驟。