ADF模糊左连接返回行数不符预期的问题排查
ADF模糊左外自连接未返回预期结果的解决方法
问题场景
在ADF数据流中做自连接识别重复客户数据,测试用SQL源里的2条完全匹配的客户记录:
| Acct_Id | AcctName |
|---|---|
| 5799930 | RENTAL SERVICE |
| 5799940 | RENTAL SERVICE |
使用普通左外连接(AcctName == AcctName)能返回预期的4条记录,但设置65%匹配阈值的模糊左外连接仅返回2条,与预期不符。
问题原因
ADF的模糊连接默认开启了**「抑制重复匹配」**功能——该设置会为左表的每条记录仅保留右表中匹配度最高的1条结果,而非返回所有符合阈值的匹配项。完全匹配场景下,每条左表记录本可匹配右表全部2条记录,但此功能会只保留1条,最终仅输出2条结果。
解决步骤
修改模糊连接配置,关闭「抑制重复匹配」:
- 打开数据流中的模糊连接组件
- 在连接条件配置界面,找到下方高级设置里的**「抑制重复匹配」**复选框
- 取消勾选该选项,保存配置后重新运行数据流
关闭此选项后,模糊连接会返回所有符合匹配阈值的关联结果,完全匹配场景下将和普通左外连接一致,返回4条记录。
额外检查点
- 确认模糊连接的匹配阈值(65%远低于完全匹配的100%,肯定满足条件)
- 排查数据流中是否存在其他过滤、转换步骤影响最终输出
内容的提问来源于stack exchange,提问作者dhoefener
相关产品推荐
相关产品推荐

