DBT项目target目录未生成compiled/run文件问题排查求助
排查DBT项目target目录为空的问题
以下是针对单个DBT项目执行后target目录无compiled/run文件的排查步骤:
- 检查命令执行日志:执行
dbt run或dbt compile时,仔细查看终端输出,确认是否存在报错、模型全量跳过的提示。比如误使用dbt run --select 不存在的模型名这类命令,会导致无文件生成。 - 验证模型启用状态:遍历项目内所有
.yml配置文件,检查是否有模型被设置为enabled: false(全局或单个模型),禁用状态下dbt不会编译/运行对应模型。 - 确认执行目录:确保是在包含dbt_project.yml的项目根目录下执行dbt命令,进入子目录执行会导致dbt无法识别项目配置,不会生成target内容。
- 检查profile配置:运行
dbt debug验证当前项目的profile配置,查看输出中的"Target path"是否为预期的./target,部分profile可能会覆盖项目级的target路径配置。 - 核对模型文件路径与命名:确认模型文件都放在
models/目录下(或dbt_project.yml中model-paths指定的目录),且文件名无特殊字符,dbt默认仅识别符合路径规则的.sql文件。 - 统一dbt版本:对比当前项目与正常项目的dbt版本(执行
dbt --version查看),版本差异可能导致配置解析或执行逻辑的变化。 - 排查自定义宏/钩子:如果项目中有自定义宏或
on-run-start/on-run-end钩子,临时注释后重新执行命令,确认是否是自定义逻辑干扰了编译流程。
内容的提问来源于stack exchange,提问作者Dina Kleper
相关产品推荐
相关产品推荐

