跳转到内容

多源数据去重合并

第 6 部分 · 案例 5.3 · 🔄 数据管道

难度 🔴 困难 · 耗时 ~45 分钟 · 核心节点 三 Source × Merge × Code 去重

经典的”客户数据散落各地”问题:销售记在 Sheets、用户在 CRM API、老用户在 5 年前的 Postgres DB。这个 workflow 每小时拉一遍,按 email 去重合并到一张主表——成为”客户 360” 的基础。

▦ workflow multi-source-dedup.workflow.json Lv.3
key-config.txt
三个数据源: - Source A: Google Sheets "leads" - Source B: HTTP GET https://api.crm.com/leads - Source C: Postgres "SELECT email, name, phone FROM legacy_leads" Merge All Sources: Mode: Combine → All(拼到一起) 3 个输入口分别接 A/B/C Dedup by Email (Code 节点): // 按 email 去重,后到的覆盖 const seen = new Map(); for (const item of $input.all()) { const email = (item.json.email || '').toLowerCase().trim(); if (email) seen.set(email, item.json); } return Array.from(seen.values()).map(json => ({ json })); Upsert to Master: Operation: Upsert Table: unified_leads Columns: email, name, phone
📋 multi-source-dedup.workflow.json