历史版本27 :資料聯動 返回文檔
編輯時間: 內容長度:图片数:目录数: 修改原因:

目錄:

1. 概述编辑

1.1 版本

FineDataLink 版本功能變更
3.1
「資料轉換」節點新增算子「資料聯動」

1.2 應用場景

使用者兩張資料表在不同的資料庫中,希望能夠將兩張不同來源庫的表進行聯動生成新表。

1.3 功能簡介

資料聯動」算子可實現多表跨庫聯動的場景。

聯動方式支援四種。分別如下:

1)左連結(LEFT JOIN):也稱為左合併。

以左邊的表為基礎,將右邊的表中與之匹配的資料行加入結果集,如果右邊的表中沒有匹配的資料,則用 null 填充相應的列。

2)右連結(RIGHT JOIN):也稱為右合併。

以右邊的表為基礎,將左邊的表中與之匹配的資料行加入結果集,如果左邊的表中沒有匹配的資料,則用 null 填充相應的列。

3)內連結(INNER JOIN):取交集。

4)全外連結(FULL OUTER JOIN):取並集。

2. 操作步驟编辑

2.1 準備待聯動表資料

資料聯動」算子支援多表跨庫聯動。使用者可準備 2 張及以上表資料,進行聯動操作。

本文範例中,準備兩張表資料,進行聯動。

範例表資料下載:english.xlsmath.xls

1)英語成績表 english 資料如下圖所示:

2)數學成績表 math 資料如下圖所示:

現希望將 english 表左聯動 math 表。

2.2 讀取待聯動表資料

2.2.1 步驟

1)建立定時任務,拖入「資料轉換」節點,進入「資料轉換」節點。

2)拖入DB表輸入算子,讀取 english 表資料。如下圖所示:

3)可為該算子設定備註,備註讀取的哪張表資料,便於之後任務維運與查看。如下圖所示:

4)同理,再拖入一個DB表輸入算子,讀取 math 表資料,並備註讀取的哪張表資料。如下圖所示:

2.2.2 注意點

DB表輸入算子中,預設抽取前 5000 行表資料進行後續計算;因此,後續的「資料聯動算子中聯動表資料時,只會取前 5000 行資料進行聯動導致使用者在「資料聯動」算子中查看聯動效果時,可能出現聯動效果不準確的問題。但任務實際運作時,是會使用全量資料做聯動操作的。

若使用者希望「資料聯動算子中查看聯動效果時,結果準確,可在DB表輸入算子的樣本設定按鈕中,讀取全量資料。

詳情請參見:定时任务数据量说明

2.3 設定聯動

1)拖入資料聯動算子,連結方式選擇左連結,連結欄位選擇姓名。如下圖所示:

需注意:

  • 若聯動兩張表資料,左表、右表均為可選項;若聯動兩張以上表資料,從第二次聯動開始,左表不再是可選項,而是預設為上一步的連結結果,右表始終為可選項。

  • 可以選擇多個「連結欄位」,多個「連結欄位」為且的關係。

  • 遇到同名欄位,欄位名後綴自動加1,格式為:column1、column2、column3。

32.png

  • 若連結方式選擇左連結/右連結時,請確認好左表和右表是否正確(A表左聯動B表,與B表左聯動A表,聯動邏輯是不同的)。

2)點選資料預覽,效果如下圖所示:

需注意:

使用者若想刪除姓名1列,可在資料匯出時,取消姓名1列的映射(參考本文 2.4 節內容);或者後接一個欄位設定算子(該算子也支援修改欄位類型),刪除姓名1列。

2.4 匯出資料

1)拖入DB表匯出算子,將聯動後的資料匯出,取消姓名1列的映射。如下圖所示:

2)寫入方式選擇追加寫入資料

2.5 效果查看

1)任務運作成功後,日誌如下圖所示:

資料庫資料如下圖所示:

2)點選「發佈」按鈕可將任務發佈到 生產模式 。如下圖所示: