You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Talend tMap如何获取两张输入表的全部非匹配拒绝行?

Talend tMap关联表无法获取表2非匹配行的解决方法

问题描述

  • 两张输入表通过ID列关联,需输出两个数据集:
    • 匹配数据:内连接结果,即两边ID匹配的行
    • 非匹配数据:包含表1、表2中所有ID未匹配的行
  • 当前异常:仅能提取表1的非匹配行(ID:4=Chewbacca),无法获取表2的非匹配行(ID:5=Kenobi)

作业配置截图

  • 输入表截图: 输入表截图
  • 当前输出截图: 当前输出截图
  • 期望输出截图: 期望输出截图
  • Talend完整作业截图: Talend完整作业截图
  • tMap配置截图: tMap配置截图

解决方法

1. 修改tMap连接类型

将当前的左连接(Left Join)改为全外连接(Full Outer Join),这样tMap会保留两张表中所有未匹配的行,而不仅仅是左表的。

2. 配置输出分支过滤条件

在tMap中设置两个输出分支的过滤规则:

  • 匹配数据分支:添加过滤条件 table1.ID != null && table2.ID != null,仅保留两边ID都存在的匹配行。
  • 非匹配数据分支:添加过滤条件 table1.ID == null || table2.ID == null,捕获任意一边ID缺失的非匹配行。

3. 补全字段映射默认值

对于非匹配分支中,来自未匹配表的字段(比如表2非匹配时的表1字段),设置默认值(如""或null),避免因字段为空导致数据被过滤或报错。

内容的提问来源于stack exchange,提问作者mlaus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 17:27:40