ADF Pipeline运行报错:DF-Executor-InvalidOutputColumns无输出列映射问题问询
ADF数据流
DF-Executor-InvalidOutputColumns错误排查方案 对应报错信息:
'StatusCode':'DF-Executor-InvalidOutputColumns','Message':'Job failed due to reason: The result has 0 output columns. Please ensure at least one column is mapped.'
常见触发根因
(前提:流水线上次成功运行后未做任何配置变更,采用Schema迟绑定机制)
- 源端SQL Server表结构发生隐性变更:包括表被删后重建、原有字段全量重命名、字段大小写规则调整,迟绑定机制无法识别到和历史逻辑匹配的有效列,返回空列集合
- 中间层Blob存储的CSV文件异常:本次生成的CSV为0字节文件、表头行丢失、所有内容为空行,ADF解析CSV时无法读取到有效列结构
- 数据流Schema漂移配置规则缺陷:开启了Schema漂移但未配置漂移列传递规则,当源端列结构和ADF缓存的历史Schema完全不匹配时,所有列会被当作无效漂移列直接丢弃
- Sink端Azure SQL权限变更:ADF所用的Sink连接账号失去了目标表的元数据读取权限,无法拉取到Sink端列结构做映射匹配,系统判定无有效输出列
排查修复步骤
- 验证源端取数逻辑:复制ADF源端配置的查询语句直接在SQL Server执行,确认返回结果包含字段和有效数据,排除源端表结构变更问题
- 检查中间层CSV文件:下载本次报错对应的Blob存储中的CSV文件,确认文件大小大于0、表头行完整、存在有效数据行
- 刷新数据流Schema缓存:在ADF编辑页打开对应数据流,先点击源端的「刷新Schema」按钮,确认可正常读取到列清单,再点击Sink端的「导入Schema」手动重建映射关系,可清除异常的历史Schema缓存
- 验证Sink端权限:使用ADF配置的Sink连接账号登录Azure SQL,执行
SELECT TOP 0 * FROM 目标表名,确认可正常返回表结构,排除权限不足问题 - 临时固定映射验证:暂时关闭迟绑定,手动配置一次明确的列映射关系运行测试流水线,若运行成功则判定为迟绑定Schema缓存异常,后续可补充配置漂移列全量传递规则,默认将所有源端列传递到Sink端
内容的提问来源于stack exchange,提问作者KimA
相关产品推荐
相关产品推荐

