當你需要同步兩個來源(例如 CRM 與 ERP、舊庫與新庫、昨日快照與今日抓取),Compare Datasets 節點能一次把「只在 A、有在 A 與 B 且相同、內容不同、只在 B」清楚分出四條支線。
你可指定比對鍵(Input A Field / Input B Field
,並可用 Add Fields to Match 建複合鍵),設定差異處理策略(Use A / Use B / Use a Mix / Include Both),必要時開啟 Fuzzy Compare 以寬容型別差異(如字串 "42"
與數字 42
視為同值)。
Compare Datasets 節點
Compare Datasets 節點幫助您比較來自兩個輸入流的數據。
主要功能
- 比較兩個數據集之間的差異
- 可以按多個字段進行比較
- 提供靈活的差異處理選項
- 支持模糊比較,容忍類型差異
節點參數
- 在 Input A Field 和 Input B Field 中輸入要比較的字段名
- 可選:選擇 Add Fields to Match 設置更多比較
- 在 When There Are Differences 中選擇差異處理方式
- 決定是否使用 Fuzzy Compare(模糊比較)
Compare Datasets – 差異處理選項
在 When There Are Differences 中,您可以選擇以下選項:
Use Input A Version
將輸入流 A 視為真實來源。當發現差異時,保留來自輸入 A 的數據版本。
Use Input B Version
將輸入流 B 視為真實來源。當發現差異時,保留來自輸入 B 的數據版本。
Use a Mix of Versions
使用不同輸入的混合版本:
- 使用 Prefer 選擇主要真實來源
- 在 For Everything Except 中輸入例外字段
Include Both Versions
在輸出中包含兩個輸入流的版本,這可能使結構更複雜。
Compare Datasets – 輸出選項
Compare Datasets 節點提供四個輸出選項:
In A only Branch
包含僅在第一個輸入中出現的數據。這些是在輸入 A 中找到但在輸入 B 中沒有匹配項的數據項。
Same Branch
包含在兩個輸入中相同的數據。這些是在兩個輸入中完全匹配的數據項。
Different Branch
包含輸入之間不同的數據。這些是在兩個輸入中找到匹配項但內容有差異的數據項。
In B only Branch
包含僅在第二個輸入中出現的數據。這些是在輸入 B 中找到但在輸入 A 中沒有匹配項的數據項。
總結
- 比對前準備
- 選穩定的主鍵/複合鍵做匹配;來源有重複時先去重(Remove Duplicates)。
- 做型別與格式正規化:去空白、大小寫一致、日期統一時區/格式。Fuzzy Compare僅用於型別寬容,不是文字相似度比對。
- 差異處理策略(When There Are Differences)
- Use Input A / Use Input B:單一真實來源;適合單向覆蓋。
- Use a Mix of Versions:以 Prefer 設主要來源,For Everything Except 列出例外欄位;適合欄位級別的精細合併。
- Include Both Versions:同時輸出 A 與 B 版本(結構較複雜),給下游做自訂決策或審核。
- 輸出分支規劃
- In A only:A 有 B 無(待新建/上傳)。
- Same:完全一致(可直接略過或記錄)。
- Different:鍵匹配但內容不同(依策略更新/審核)。
- In B only:B 有 A 無(待刪除/關閉/回補)。
- 實務心法
- 大量資料先 Filter / Limit 只留必要欄位再比對,效能更穩。
- 需要審計軌跡時,將 Different 與 Include Both Versions 的結果寫入變更日誌。
- 比對鍵若來自多來源(如
source + external_id
),先在上游 Set/Code 組成統一欄位再丟進節點。
用 Compare Datasets,把同步流程拆成可控的四條支線,再配合更新、建立、關閉等動作節點,你就能做出穩定、可審核、易維護的資料對帳/同步管線。