Etl調(diào)度方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明實(shí)施例涉及通信技術(shù),尤其涉及一種抽取轉(zhuǎn)換裝載 (Extract-Transform-Load, ETL)調(diào)度方法及裝置。
【背景技術(shù)】
[0002] 隨著大數(shù)據(jù)技術(shù)發(fā)展,分布式的數(shù)據(jù)存儲(chǔ)系統(tǒng)越來(lái)越多,大數(shù)據(jù)應(yīng)用一般需要集 成多個(gè)不同的數(shù)據(jù)存儲(chǔ)系統(tǒng)來(lái)構(gòu)建不同應(yīng)用的數(shù)據(jù)倉(cāng)庫(kù),ETL用來(lái)描述將數(shù)據(jù)從源數(shù)據(jù)倉(cāng) 庫(kù)經(jīng)過(guò)抽取、轉(zhuǎn)換和裝載至目的數(shù)據(jù)倉(cāng)庫(kù)的過(guò)程。通常ETL裝置或稱為ETL工具用來(lái)負(fù)責(zé) 系統(tǒng)運(yùn)行程序的調(diào)度控制和資源的分配。
[0003] 通常上述的數(shù)據(jù)倉(cāng)庫(kù)對(duì)應(yīng)的服務(wù)器一般采用分布式的部署方式,但是采用的部署 方式不盡相同,目前存在的主要部署方式為:無(wú)共享(Shated Nothing)架構(gòu)和共享磁盤(pán) (Shared Disk)架構(gòu),其中無(wú)共享架構(gòu)是指各個(gè)數(shù)據(jù)倉(cāng)庫(kù)中對(duì)應(yīng)節(jié)點(diǎn)(服務(wù)器)擁有獨(dú)立 的中央處理器(Central Processing Unit, CPU)、內(nèi)存、磁盤(pán)資源,數(shù)據(jù)按照規(guī)則分布在不 同的節(jié)點(diǎn)上。共享磁盤(pán)架構(gòu)是指各個(gè)數(shù)據(jù)倉(cāng)庫(kù)對(duì)應(yīng)節(jié)點(diǎn)擁有獨(dú)立的CPU、內(nèi)存,但節(jié)點(diǎn)之間 是共享磁盤(pán)空間的,數(shù)據(jù)統(tǒng)一存儲(chǔ)?,F(xiàn)有技術(shù)中,大規(guī)模并行處理(Massively Parallel Pr〇CeSSing,MPP)中包括多個(gè)數(shù)據(jù)倉(cāng)庫(kù),由于各個(gè)數(shù)據(jù)倉(cāng)庫(kù)對(duì)應(yīng)服務(wù)器部署方式不盡相同, 因此,每個(gè)階段會(huì)對(duì)應(yīng)一個(gè)ETL裝置,實(shí)現(xiàn)任務(wù)的分發(fā)和調(diào)度。
[0004] 然而,現(xiàn)有技術(shù)中存在對(duì)離散化的ETL裝置管理效率低,維護(hù)較為復(fù)雜的問(wèn)題。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明提供一種ETL調(diào)度方法及裝置,從而提高對(duì)ETL裝置的管理效率,降低維護(hù) 復(fù)雜度。
[0006] 第一方面,本發(fā)明一實(shí)施例提供一種ETL調(diào)度方法,包括:確定每個(gè)階段的任務(wù)執(zhí) 行規(guī)則所對(duì)應(yīng)的第一數(shù)據(jù)倉(cāng)庫(kù),所述第一數(shù)據(jù)倉(cāng)庫(kù)為所述每個(gè)階段的數(shù)據(jù)倉(cāng)庫(kù)中的源數(shù)據(jù) 倉(cāng)庫(kù)或目的數(shù)據(jù)倉(cāng)庫(kù);根據(jù)所述源數(shù)據(jù)倉(cāng)庫(kù)和所述目的數(shù)據(jù)倉(cāng)庫(kù)之間的邏輯關(guān)系和所述第 一數(shù)據(jù)倉(cāng)庫(kù)建立任務(wù)復(fù)制表,所述任務(wù)復(fù)制表包括:所述源數(shù)據(jù)倉(cāng)庫(kù)的表項(xiàng)和所述目的數(shù) 據(jù)倉(cāng)庫(kù)的表項(xiàng);根據(jù)第二數(shù)據(jù)倉(cāng)庫(kù)對(duì)應(yīng)服務(wù)器采用的分布式方式建立任務(wù)分配表,所述第 二數(shù)據(jù)倉(cāng)庫(kù)為所述每個(gè)階段的數(shù)據(jù)倉(cāng)庫(kù)中的源數(shù)據(jù)倉(cāng)庫(kù)或目的數(shù)據(jù)倉(cāng)庫(kù),所述任務(wù)分配表 包括:每個(gè)所述第二數(shù)據(jù)倉(cāng)庫(kù)對(duì)應(yīng)服務(wù)器所采用的分布式方式;根據(jù)所述任務(wù)復(fù)制表和所 述任務(wù)分配表對(duì)所述每個(gè)階段的任務(wù)進(jìn)行調(diào)度。
[0007] 結(jié)合第一方面,在第一方面的第一種可能實(shí)施方式中,所述任務(wù)復(fù)制表還包括:第 一參數(shù)和第二參數(shù);所述第一參數(shù)用于表示所述第一數(shù)據(jù)倉(cāng)庫(kù)為該階段的所述源數(shù)據(jù)倉(cāng) 庫(kù);所述第二參數(shù)用于表示所述第一數(shù)據(jù)倉(cāng)庫(kù)為該階段的所述目的數(shù)據(jù)倉(cāng)庫(kù)。
[0008] 結(jié)合第一方面的第一種可能實(shí)施方式,在第一方面的第二種可能實(shí)施方式中,所 述根據(jù)所述源數(shù)據(jù)倉(cāng)庫(kù)和所述目的數(shù)據(jù)倉(cāng)庫(kù)之間的邏輯關(guān)系和所述第一數(shù)據(jù)倉(cāng)庫(kù)建立任 務(wù)復(fù)制表,具體包括:根據(jù)所述源數(shù)據(jù)倉(cāng)庫(kù)和所述目的數(shù)據(jù)倉(cāng)庫(kù)之間的邏輯關(guān)系確定所述 源數(shù)據(jù)倉(cāng)庫(kù)的表項(xiàng)和所述目的數(shù)據(jù)倉(cāng)庫(kù)的表項(xiàng);根據(jù)所述第一數(shù)據(jù)倉(cāng)庫(kù)確定所述第一參數(shù) 和所述第二參數(shù);根據(jù)所述源數(shù)據(jù)倉(cāng)庫(kù)的表項(xiàng)、所述目的數(shù)據(jù)倉(cāng)庫(kù)的表項(xiàng)、所述第一參數(shù)和 所述第二參數(shù)建立所述任務(wù)復(fù)制表。
[0009] 結(jié)合第一方面或第一方面的第一種可能實(shí)施方式或第一方面的第二種可能實(shí)施 方式,在第一方面的第三種可能實(shí)施方式中,還包括:所述分布式方式包括:無(wú)共享分布方 式和共享磁盤(pán)分布方式。
[0010] 結(jié)合第一方面的第三種可能實(shí)施方式,在第一方面的第四種可能實(shí)施方式中,所 述根據(jù)所述任務(wù)復(fù)制表和所述任務(wù)分配表對(duì)所述每個(gè)階段的任務(wù)進(jìn)行調(diào)度,具體包括:在 每個(gè)階段中的所述源數(shù)據(jù)倉(cāng)庫(kù)和所述目的數(shù)據(jù)倉(cāng)庫(kù)之間按照確定的所述分布式方式調(diào)度 所述每個(gè)階段的任務(wù)。
[0011] 第二方面,本發(fā)明一實(shí)施例提供一種ETL調(diào)度裝置,包括:確定模塊,用于確定每 個(gè)階段的任務(wù)執(zhí)行規(guī)則所對(duì)應(yīng)的第一數(shù)據(jù)倉(cāng)庫(kù),所述第一數(shù)據(jù)倉(cāng)庫(kù)為所述每個(gè)階段的數(shù)據(jù) 倉(cāng)庫(kù)中的源數(shù)據(jù)倉(cāng)庫(kù)或目的數(shù)據(jù)倉(cāng)庫(kù);建立模塊,用于根據(jù)所述源數(shù)據(jù)倉(cāng)庫(kù)和所述目的數(shù) 據(jù)倉(cāng)庫(kù)之間的邏輯關(guān)系和所述第一數(shù)據(jù)倉(cāng)庫(kù)建立任務(wù)復(fù)制表,所述任務(wù)復(fù)制表包括:所述 源數(shù)據(jù)倉(cāng)庫(kù)的表項(xiàng)和所述目的數(shù)據(jù)倉(cāng)庫(kù)的表項(xiàng);所述建立模塊,還用于根據(jù)第二數(shù)據(jù)倉(cāng)庫(kù) 對(duì)應(yīng)服務(wù)器采用的分布式方式建立任務(wù)分配表,所述第二數(shù)據(jù)倉(cāng)庫(kù)為所述每個(gè)階段的數(shù)據(jù) 倉(cāng)庫(kù)中的源數(shù)據(jù)倉(cāng)庫(kù)或目的數(shù)據(jù)倉(cāng)庫(kù),所述任務(wù)分配表包括:每個(gè)所述第二數(shù)據(jù)倉(cāng)庫(kù)對(duì)應(yīng) 服務(wù)器所采用的分布式方式;調(diào)度模塊,用于根據(jù)所述任務(wù)復(fù)制表和所述任務(wù)分配表對(duì)所 述每個(gè)階段的任務(wù)進(jìn)行調(diào)度。
[0012] 結(jié)合第二方面,在第二方面的第一種可能實(shí)施方式中,所述任務(wù)復(fù)制表還包括:第 一參數(shù)和第二參數(shù);所述第一參數(shù)用于表示所述第一數(shù)據(jù)倉(cāng)庫(kù)為該階段的所述源數(shù)據(jù)倉(cāng) 庫(kù);所述第二參數(shù)用于表示所述第一數(shù)據(jù)倉(cāng)庫(kù)為該階段的所述目的數(shù)據(jù)倉(cāng)庫(kù)。
[0013] 結(jié)合第二方面的第一種可能實(shí)施方式,在第二方面的第二種可能實(shí)施方式中,所 述建立模塊,具體用于:根據(jù)所述源數(shù)據(jù)倉(cāng)庫(kù)和所述目的數(shù)據(jù)倉(cāng)庫(kù)之間的邏輯關(guān)系確定所 述源數(shù)據(jù)倉(cāng)庫(kù)的表項(xiàng)和所述目的數(shù)據(jù)倉(cāng)庫(kù)的表項(xiàng);根據(jù)所述第一數(shù)據(jù)倉(cāng)庫(kù)確定所述第一參 數(shù)和所述第二參數(shù);根據(jù)所述源數(shù)據(jù)倉(cāng)庫(kù)的表項(xiàng)、所述目的數(shù)據(jù)倉(cāng)庫(kù)的表項(xiàng)、所述第一參數(shù) 和所述第二參數(shù)建立所述任務(wù)復(fù)制表。
[0014] 結(jié)合第二方面或第二方面的第一種可能實(shí)施方式或第二方面的第二種可能實(shí)施 方式,在第二方面的第三種可能實(shí)施方式中,還包括:所述分布式方式包括:無(wú)共享分布方 式和共享磁盤(pán)分布方式。
[0015] 結(jié)合第二方面的第三種可能實(shí)施方式,在第二方面的第四種可能實(shí)施方式中,所 述調(diào)度模塊,具體用于:在每個(gè)階段中的所述源數(shù)據(jù)倉(cāng)庫(kù)和所述目的數(shù)據(jù)倉(cāng)庫(kù)之間按照確 定的所述分布式方式調(diào)度所述每個(gè)階段的任務(wù)。
[0016] 本發(fā)明實(shí)施例提供了一種ETL調(diào)度方法及裝置,其中該方法包括:確定每個(gè)階段 的任務(wù)執(zhí)行規(guī)則所對(duì)應(yīng)的第一數(shù)據(jù)倉(cāng)庫(kù),所述第一數(shù)據(jù)倉(cāng)庫(kù)為所述每個(gè)階段的數(shù)據(jù)倉(cāng)庫(kù)中 的源數(shù)據(jù)倉(cāng)庫(kù)或目的數(shù)據(jù)倉(cāng)庫(kù);根據(jù)所述源數(shù)據(jù)倉(cāng)庫(kù)和所述目的數(shù)據(jù)倉(cāng)庫(kù)之間的邏輯關(guān)系 和所述第一數(shù)據(jù)倉(cāng)庫(kù)建立任務(wù)復(fù)制表,所述任務(wù)復(fù)制表包括:所述源數(shù)據(jù)倉(cāng)庫(kù)的表項(xiàng)和所 述目的數(shù)據(jù)倉(cāng)庫(kù)的表項(xiàng);根據(jù)所述第二數(shù)據(jù)倉(cāng)庫(kù)對(duì)應(yīng)服務(wù)器采用的分布式方式建立任務(wù)分 配表,所述第二數(shù)據(jù)倉(cāng)庫(kù)為所述每個(gè)階段的數(shù)據(jù)倉(cāng)庫(kù)中的源數(shù)據(jù)倉(cāng)庫(kù)或目的數(shù)據(jù)倉(cāng)庫(kù),所 述任務(wù)分配表包括:每個(gè)所述第二數(shù)據(jù)倉(cāng)庫(kù)對(duì)應(yīng)服務(wù)器所采用的分布式方式;根據(jù)所述任 務(wù)復(fù)制表和所述任務(wù)分配表對(duì)所述每個(gè)階段的任務(wù)進(jìn)行調(diào)度。由于在系統(tǒng)中的各個(gè)階段中 不需要多個(gè)獨(dú)立的ETL裝置,只需一個(gè)ETL裝置,通過(guò)建立任務(wù)復(fù)制表和任務(wù)分配表調(diào)度各 階段的任務(wù)即可,從而提高系統(tǒng)中對(duì)ETL裝置的管理效率,降低維護(hù)復(fù)雜度。
【附圖說(shuō)明】
[0017] 圖1為本發(fā)明一實(shí)施例提供的一種ETL調(diào)度方法的流程圖;
[0018] 圖2為本發(fā)明一實(shí)施例提供的MPP系統(tǒng)的結(jié)構(gòu)示意圖;
[0019] 圖3為本發(fā)明一實(shí)施例提供的一種ETL調(diào)度裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0020] 為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清