多源数据去重合并
第 6 部分 · 案例 5.3 · 🔄 数据管道
难度 🔴 困难 · 耗时 ~45 分钟 · 核心节点 三 Source × Merge × Code 去重
经典的”客户数据散落各地”问题:销售记在 Sheets、用户在 CRM API、老用户在 5 年前的 Postgres DB。这个 workflow 每小时拉一遍,按 email 去重合并到一张主表——成为”客户 360” 的基础。
🔍 工作流连线图
Section titled “🔍 工作流连线图” ▦ workflow multi-source-dedup.workflow.json Lv.3
📋 关键节点
Section titled “📋 关键节点” ⚙ 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
📥 一键复制 Workflow JSON
Section titled “📥 一键复制 Workflow JSON” 📋 multi-source-dedup.workflow.json