ETL中雙流合併和多流合併的區別

RestCloud谷云科技發表於2024-04-28

一、ETL工具

ETLCloud資料整合平臺集實時資料整合和離線資料整合以及API釋出為一體的資料整合平臺。與其他開源資料整合工具相比,採用輕量化架構、具有更快的部署速度、更快的資料傳輸速度、更低的運維成本,同時支援多租戶的團隊協作能力,能夠滿足企業各種複雜的資料處理需求。含有豐富的ETL操作相關的元件,透過拉取的方式來搭建流程,對於小白和非開發人員來說非常的友好。

今天我們要介紹兩個在ETL過程中經常使用的元件,雙流join合併元件和多流UnionAll合併元件。

二、元件演示

1、雙流join合併元件

首先建立好流程,在資料運算元件中找到雙流合併元件,顧名思義這個元件是將兩邊的資料流合併在一起,join就是我們sql語法中的內連線和外連線了,所以我們需要拉取兩個輸入元件,這裡我們拉取庫表輸入元件,流程設計如下:

庫表輸入配置,只需要配置好相關資料來源,選擇庫表,設定輸入欄位即可

雙流join元件,點選元件開啟配置頁面,需要理解了sql語法中的join操作即可上手。

在join模式中有三個選項,分別是左連線,內連線,笛卡爾積,

  • LEFT JOIN 會返回左邊表(左表)的所有行,以及右邊表(右表)中與左表匹配的行。如果右表中沒有匹配的行,則會返回 NULL 值。
  • INNER JOIN 是最常用的連線操作,它根據兩個表之間的共同列的值將兩個表進行連線。只返回符合連線條件的行,即兩個表中透過連線條件關聯起來的行。
  • 笛卡兒積是指將兩個表中的每一行都與另一個表中的每一行進行組合,返回的結果集大小為兩個錶行數的乘積。

透過leftjoin舉例說明,根據自己的需求決定左右表對應的資料流,

關聯條件配置,即符合條件的資料就保留

欄位配置可以決定哪些欄位保留哪些去掉,A表合併後的資料將以此欄位配置為準,沒有配置在本欄位列表中的欄位將被刪除

指定B表需要加入到A表中的欄位,不需要加入的欄位請刪除

點選儲存,執行結果如下,資料會根據我們所配置的輸出。

2、多流合併元件

拉取多流Uinon合併元件,建立如下流程,多流合併元件相比雙流join元件有兩個不同點,一個是把多個流合併成一個流的資料,將不同節點的資料組合為新的資料。

開啟多流Union合併配置頁,可以發現就是單純把需要的欄位保留不需要的去掉,然後把多條流的資料合併輸出。

欄位配置中,我們選擇我們需要的欄位。

合併執行檢視日誌可以看出

雙流join是會根據join條件而合併的,多流union會對每條流的資料進行欄位合併,然後統一輸出成新的資料。

三、總結

在ETL過程中經常使用的兩個元件是雙流join合併元件和多流UnionAll合併元件。

雙流join合併元件:用於將兩邊的資料流合併在一起,支援左連線、內連線和笛卡爾積。使用者可以根據需要選擇左連線保留左表所有行、內連線返回符合條件的資料行,或笛卡爾積返回兩表所有可能組合的行。配置簡單直觀,根據關聯條件和欄位配置進行資料合併,並輸出結果。

多流UnionAll合併元件:用於將多個資料流合併成一個流的資料,將不同節點的資料組合為新的資料。使用者可以選擇需要的欄位進行保留,然後將多條流的資料合併輸出。在欄位配置中選擇所需欄位,然後合併執行檢視日誌即可輸出合併後的資料。

總的來說,雙流join合併元件適用於根據條件合併資料流,而多流UnionAll合併元件適用於將多條流資料合併成一個新的資料流。這些元件在ETLCloud中提供了強大的資料處理功能,方便使用者進行資料整合和處理操作。

相關文章