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、發布同步任務並查看效果
分類匯總
分類匯總主要用於數據分析中,從結果來看可以有效識彆數據中的變化、異常從而監測和反饋問題。
常用於:
數據分析和決策製定: 分類匯總允許將大量的原始數據轉化為有意義的信息,從而幫助更好地理解數據,做齣有根據的決策;
報錶生成: 根據分類匯總的結果,可以很方便的生成報錶和可視化的數據;
監測和反饋: 根據分類匯總的結果,有助於監測業務指標和性能指標(配閤工作流),並及時提供反饋,以便及時采取行動。
使用步驟
點擊任意數據同步任務進入畫布,鼠標停留在兩個節點之間點擊「+」添加“分類匯總”節點
配置分類和匯總字段
- 分類字段:可以選擇任意字段
- 匯總字段:根據不同字段類型支持不同的函數
- 文本類型:支持最大值、最小值的函數
- 數值類型(包含日期):支持求和、平均值、最大值、最小值的函數
- 計數:僅支持行的計數(*)
分類匯總的限製
僅限旗艦版可用;
隻有在分類字段和匯總統計字段中添加的字段,纔會作為輸齣參數傳遞給下一個節點;
匯總統計字段中的字段必須選擇函數。
場景示例
以多錶連接的結果為例,來做一次分類匯總,我們在多錶連接的結果中增加一列班級,最後我們要做的是按照班級分組,看下不同班級中的語文和數學的最高分、平均分以及最低分。
準備數據
新增分類匯總節點
配置分類匯總節點
- 分類字段:班級
- 匯總統計字段:選擇語文成績和數學成績,分彆選擇最大值、最小值、平均值的計算方式
配置目的地節點
新增一張錶,用來存儲匯總後的數據
更新發布同步任務,查看最終結果
結果可見,已經按照班級分組好瞭所有數據,同時也根據不同的函數計算齣來瞭相應的值。
數據閤並
此節點可以將兩個錶的結果閤並成一個結果集,並支持六種集閤運算。
在畫布中疊加使用「數據閤並」節點,最終可達到多錶數據閤並的目的,大大簡化瞭多錶分開查詢數據再統計結果的繁瑣配置,提高統計效率。數據集成的任務流程也更易於修改,並能容納更多錶的閤並運算。
使用步驟
點擊任意數據同步任務進入畫布,鼠標停留在兩個節點之間點擊「+」添加“數據閤並”節點
添加後,會齣現兩個節點,讀取數據源 和 數據閤並
◦ 讀取數據源: 用於選擇需要連接的數據源,可以是工作錶也可以是外部數據庫
◦ 數據閤並: 用於配置閤並運算方式
支持的六種集閤運算:
- 去重閤並(UNION):閤並時去掉兩個錶中重復的行記錄,保留唯一記錄;
- 全部閤並(UNION ALL):閤並時保留兩個錶中所有的行記錄;
- 相交並去重(INTERSECT):隻有在兩個錶中都存在的記錄,纔會被保留,並去除重復記錄;
- 相交 (INTERSECT ALL):隻有在兩個錶中都存在的記錄,纔會被保留,不會去除重復記錄;
- 排除並去重(EXCEPT):隻有在左錶中存在,但在右錶中不存在的記錄會被保留,並去除重復記錄;
- 排除(EXCEPT ALL):隻有在左錶中存在,但在右錶中不存在的記錄會被保留,不會去除重復記錄。
數據閤並的限製
僅限旗艦版可用;
字段配置隻有相同名稱,相同類型纔會閤並列。
場景示例
以分類匯總案例的結果錶為例,現在需要與分校的數據進行閤並,分校的數據存儲在另外一套係統中,因此需要通過讀取數據庫來閤並數據。
準備數據
分類匯總的結果:
分校的數據(來源數據庫):
添加數據閤並節點
配置數據閤並
字段配置
目的地新建錶
更新發布,查看最終結果