如何修复Azure Data Factory中DF-JOIN-002错误:仅允许2个连接条件
报错根因
DF-JOIN-002是Azure Data Factory数据流Join转换的内置限制报错:当Join配置中使用非等值匹配规则时,最多支持设置2个Join条件。你当前配置大概率是将SQL中WHERE子句的event_date过滤规则也添加到了Join条件列表中,或是误加了多余的Join匹配项,导致条件数量超出限制。
解决方案
按以下步骤调整数据流配置,即可完全匹配你要实现的SQL逻辑:
- 调整Join1组件配置
- Join类型选择
内连接(Inner Join) - 仅保留1个Join匹配条件:Union结果输出的
acct_id= 第三张表的Archtics_acct_id__c,删除所有其他多余的Join条件
- Join类型选择
- 新增过滤步骤
在Join1组件的下游新增一个筛选(Filter)转换,筛选条件设置为event_date == 'xxxx-xx-xx'(若event_date为日期类型,可直接使用日期表达式匹配,无需添加引号) - 新增去重步骤
在筛选转换的下游新增去重(Deduplicate)转换,保留需要输出的字段acct_id、Id、Email、FirstName、LastName即可,对应SQL中的SELECT DISTINCT逻辑。
如果你的业务逻辑需要在Join阶段同时匹配多个字段,也可以提前对Union后的结果做event_date过滤,再和第三张表做Join,此时Join条件仍只有1个,不会触发数量限制。
内容的提问来源于stack exchange,提问作者P201_eng
相关产品推荐
相关产品推荐

