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

dbt Cloud控制台与Job执行测试结果在run_results.json中不一致

问题分析与解决建议

问题核心

在连接Fabric数据仓库的dbt Cloud项目中,执行同一dbt build命令时出现矛盾现象:

  • 在dbt Cloud Studio控制台执行,run_results.json能正确记录测试失败状态(status: "fail")
  • 通过dbt Cloud Job执行,实际build因测试失败终止,但run_results.json中该测试却显示status: "success",无任何失败痕迹

可能原因及解决步骤

1. dbt版本不一致

dbt Cloud Studio和Job可能使用了不同版本的dbt,不同版本对测试结果的捕获、run_results.json的生成逻辑存在差异。

  • 操作:
    • 在dbt Cloud Studio右下角查看当前使用的dbt版本
    • 进入Job配置页面,检查Job使用的dbt版本,确保两者完全一致
    • 若版本不同,将Job的dbt版本调整为与Studio一致后重新测试

2. Job执行的重试/跳过逻辑干扰

dbt Cloud Job默认可能启用了重试机制,或测试被意外标记为跳过(虽然后台日志显示ERROR=1,但需确认执行流程)。

  • 操作:
    • 查看Job执行的完整日志,确认测试步骤是否被实际执行,是否存在重试后错误被掩盖的情况
    • 在Job配置中关闭重试失败的任务选项,重新执行build命令,检查run_results.json是否正确记录失败

3. run_results.json生成/上传不完整

当dbt执行失败时,Job环境可能未完整生成或上传run_results.json,导致获取到的文件是不完整的快照。

  • 操作:
    • 在Job执行完成后,从dbt Cloud的Artifacts页面手动下载完整的run_results.json文件,对比之前提取的内容是否一致
    • 若手动下载的文件包含正确的失败记录,检查日志提取逻辑是否存在遗漏(比如未等待Job执行完成就提取文件)

4. Fabric适配器兼容性问题

由于Fabric是较新的数据仓库适配器,dbt在Studio和Job两种执行环境下与Fabric的交互逻辑可能存在差异,导致测试结果的捕获出现偏差。

  • 操作:
    • 尝试在Job中执行dbt test单独测试该失败的测试用例,查看run_results.json是否能正确记录失败
    • 若问题持续,可向dbt官方提交反馈,说明Fabric适配器在Job环境下的测试结果记录异常问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 09:22:42