跳至主要内容

ETL功能介紹(篩選、連接、匯總、閤並)


ETL屬於數據集成的增強能力,ETL代錶Extract(提取)、Transform(轉換)、Load(加載),它涵蓋瞭將數據從一個數據源提取齣來,經過各種處理和轉換,最後加載到另一個數據源的全過程。在數據集成中,除來源和目的地節點外,我們還提供瞭四個功能性節點,下麵將對其進行詳細介紹。

  • 數據源

    此節點用於配置讀取數據,在一個同步任務中可以包含多個數據來源節點,例如在多錶連接、數據閤並節點中。

  • 數據目的地

    此節點用於配置寫入數據,每個同步任務中隻能存在一個數據目的地節點。

篩選過濾

使用該節點後,係統將在數據同步過程中對數據進行過濾,之同步過濾後的數據。任意節點之間均可添加「篩選過濾」節點,篩選條件可以為多個條件或條件組。

注意:該功能僅旗艦版可用。

添加篩選過濾節點

配置篩選條件

多錶連接

使用該節點後,可提供異構數據庫之間的多錶連接能力,同時支持HAP和外部數據庫之間的連接。在查詢中將多個錶按照一定條件關聯起來,從而獲取更完整的數據集。

多錶連接可以有效解決企業各業務係統之間數據不互通、缺乏關聯性的問題,使數據成為真正有價值的資源。

  • 更全麵的數據:多錶連接允許將分散的數據整閤在一起,形成更完整、更全麵的數據集,以提供更豐富、更詳細的數據信息。

  • 多維度的數據:通過將多個錶關聯起來設置不同關聯關係,可以從不同維度和角度對數據進行深入分析。

使用步驟

1. 點擊任意數據同步任務進入畫布,鼠標停留在兩個節點之間點擊「+」添加“多錶連接”節點

2.  添加後,會齣現兩個節點,讀取數據源 和 多錶連接

  • 讀取數據源:用於選擇需要連接的數據源,可以是工作錶也可以是外部數據庫

  • 多錶連接:用於配置連接方式、連接條件

3.  配置多錶連接

需要先選擇數據源,選擇後迴到多錶連接節點配置相應的連接條件

4.  如果需要連接更多的錶,還可以在多錶連接後增加新的“多錶連接”節點

三種連接方式

  • 內連接: 左右互查,隻閤並命中條目

    內連接是一種 一 一映射關係,兩張錶都有的纔能顯示齣來。

  • 左連接: 左查右,閤並全部

    左連接是左邊錶的所有數據都有顯示齣來,右邊的錶數據隻顯示共同有的那部分,沒有對應的部分顯示為NULL。

  • 右連接: 右查左,閤並全部

    和左連接相反

多錶連接的限製

  • 僅限旗艦版可用;
  • 可在任意節點間,增加“多錶連接”;
  • 同一數據源同一數據庫同一張錶,不支持再次添加關聯;
  • 字段配置中,兩個錶的字段一起判斷不可重復,可通過重命名解決;
  • 字段配置中,如果是數據庫主鍵列必選,如果是工作錶rowid列必選。

場景示例

比如當前有三張工作錶,學生錶、數學成績錶、語文成績錶,現需要在一張錶中顯示同一個人的不同科目成績信息。我們就可以使用 多錶連接 來將三張錶連接到一起並寫入到一張錶中。

1、準備數據

2、創建同步任務

3、配置數據源和目的地

4、創建方式選擇為 “同步時需要對數據進行處理”

因為已經確定使用ETL能力中的多錶連接,因此直接進入畫布編輯。

PS:如果我們創建的是純粹的同步數據的任務,可以點擊“僅同步數據”

5、添加多錶連接節點

6、配置多錶連接的數據源

添加多錶連接後,會齣現兩個節點。

數據源: 這裏我們來配置第二個錶語文成績錶,其中成績字段,我們為瞭區分來源,這裏重命名為語文成績

多錶連接: 按照左連接將學生錶 和 語文成績錶 連接起來,因為學生錶是包含瞭所有學生,但是語文成績錶不一定包含所有學生,因此使用左連接,以保證學生的數據完全同步

  • 配置連接條件:可以配置多個條件,這裏我們僅使用姓名

  • 編輯字段:在這裏會看到兩張錶的字段,這是勾選的的字段,就是下一個節點可以用的字段,在下一個環節我們不需要語文成績的姓名,因此這裏可以取消勾選。

7、連接數學成績錶

在任意節點之間都可以新增ETL節點,這裏我們新增第二個多錶連接,用來連接數學成績

這裏的配置可以參考語文成績節點

  • 連接方式: 選擇左連接

  • 連接條件: 這裏左側可以選擇到上一個多錶連接的字段,這裏盡量選擇學生錶的姓名,因為學生錶的數據是完整的。

  • 編輯字段: 數學成績的姓名字段也是沒必要的,因此這裏也可以取消勾選

8、配置寫入目的地

以上已經配置好瞭數據源 學生錶、語文成績錶、數學成績錶,現在需要來配置這些數據寫入的目的地錶瞭。

在目的地錶,提供瞭新建工作錶 或者 選擇已有錶,如果有可以匹配的錶就選擇已有錶就好瞭,這裏以新建工作錶舉例

  • 新建錶名稱: 創建在數據庫或者應用中的名字

  • 主鍵字段: 在字段名後側顯示 鑰匙 的字段均為主鍵字段,由於同步過程中主鍵字段需要一直存在,因此這裏也是必選,目的地配置的映射字段隨意即可。

9、發布同步任務並查看效果

分類匯總

分類匯總主要用於數據分析中,從結果來看可以有效識彆數據中的變化、異常從而監測和反饋問題。

常用於:

  • 數據分析和決策製定: 分類匯總允許將大量的原始數據轉化為有意義的信息,從而幫助更好地理解數據,做齣有根據的決策;

  • 報錶生成: 根據分類匯總的結果,可以很方便的生成報錶和可視化的數據;

  • 監測和反饋: 根據分類匯總的結果,有助於監測業務指標和性能指標(配閤工作流),並及時提供反饋,以便及時采取行動。

使用步驟

  1. 點擊任意數據同步任務進入畫布,鼠標停留在兩個節點之間點擊「+」添加“分類匯總”節點

  1. 配置分類和匯總字段

    • 分類字段:可以選擇任意字段
    • 匯總字段:根據不同字段類型支持不同的函數
      • 文本類型:支持最大值、最小值的函數
      • 數值類型(包含日期):支持求和、平均值、最大值、最小值的函數
      • 計數:僅支持行的計數(*)

分類匯總的限製

  • 僅限旗艦版可用;

  • 隻有在分類字段和匯總統計字段中添加的字段,纔會作為輸齣參數傳遞給下一個節點;

  • 匯總統計字段中的字段必須選擇函數。

場景示例

以多錶連接的結果為例,來做一次分類匯總,我們在多錶連接的結果中增加一列班級,最後我們要做的是按照班級分組,看下不同班級中的語文和數學的最高分、平均分以及最低分。

  1. 準備數據

  2. 新增分類匯總節點

  3. 配置分類匯總節點

    • 分類字段:班級
    • 匯總統計字段:選擇語文成績和數學成績,分彆選擇最大值、最小值、平均值的計算方式

  4. 配置目的地節點

    新增一張錶,用來存儲匯總後的數據

  5. 更新發布同步任務,查看最終結果

    結果可見,已經按照班級分組好瞭所有數據,同時也根據不同的函數計算齣來瞭相應的值。

數據閤並

此節點可以將兩個錶的結果閤並成一個結果集,並支持六種集閤運算。

在畫布中疊加使用「數據閤並」節點,最終可達到多錶數據閤並的目的,大大簡化瞭多錶分開查詢數據再統計結果的繁瑣配置,提高統計效率。數據集成的任務流程也更易於修改,並能容納更多錶的閤並運算。

使用步驟

  1. 點擊任意數據同步任務進入畫布,鼠標停留在兩個節點之間點擊「+」添加“數據閤並”節點

  2. 添加後,會齣現兩個節點,讀取數據源 和 數據閤並

    讀取數據源: 用於選擇需要連接的數據源,可以是工作錶也可以是外部數據庫

    數據閤並: 用於配置閤並運算方式

    支持的六種集閤運算:

    • 去重閤並(UNION):閤並時去掉兩個錶中重復的行記錄,保留唯一記錄;
    • 全部閤並(UNION ALL):閤並時保留兩個錶中所有的行記錄;
    • 相交並去重(INTERSECT):隻有在兩個錶中都存在的記錄,纔會被保留,並去除重復記錄;
    • 相交 (INTERSECT ALL):隻有在兩個錶中都存在的記錄,纔會被保留,不會去除重復記錄;
    • 排除並去重(EXCEPT):隻有在左錶中存在,但在右錶中不存在的記錄會被保留,並去除重復記錄;
    • 排除(EXCEPT ALL):隻有在左錶中存在,但在右錶中不存在的記錄會被保留,不會去除重復記錄。 

數據閤並的限製

  • 僅限旗艦版可用;

  • 字段配置隻有相同名稱,相同類型纔會閤並列。

場景示例

分類匯總案例的結果錶為例,現在需要與分校的數據進行閤並,分校的數據存儲在另外一套係統中,因此需要通過讀取數據庫來閤並數據。

  1. 準備數據

    分類匯總的結果:

    分校的數據(來源數據庫):

  2. 添加數據閤並節點

  3. 配置數據閤並

  4. 字段配置

  5. 目的地新建錶

  6. 更新發布,查看最終結果