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