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

AWS MWAA运行DBT安装测试失败,提示dbt文件不存在求助

在AWS MWAA中运行dbt时出现“dbt: No such file or directory”错误的排障方案

是的,这个报错明确说明dbt未成功安装到预期路径,或者MWAA运行环境的系统PATH未包含dbt的实际安装目录。以下是针对性的排查和解决步骤:

1. 修复requirements.txt的依赖冲突问题

你的requirements.txt存在冗余和版本冲突风险,这是导致dbt安装失败的核心原因:

  • MWAA环境已预装指定版本的Airflow,无需重复声明apache-airflow[postgres,mysql,google]==2.2.2,重复安装会触发依赖冲突,中断dbt的安装流程。
  • 你手动指定的jsonschema==3.1.1与Airflow约束文件中的jsonschema==3.2.0冲突,会导致依赖安装失败。

修改后的极简requirements.txt(仅保留dbt及必要依赖):

--constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.2.2/constraints-3.7.txt"
dbt-core==0.21.1
dbt-postgres==0.21.1
dbt-redshift==0.21.1
psycopg2-binary==2.8.6
# 仅保留你业务实际需要的其他依赖,如google-ads等,无需全部保留

2. 验证dbt的实际安装状态与路径

修改测试DAG,先确认dbt是否安装成功及实际路径:

from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from airflow.utils.dates import days_ago

with DAG(dag_id="dbt-installation-test", schedule_interval=None, catchup=False, start_date=days_ago(1)) as dag:
    check_dbt_status = BashOperator(
        task_id="check_dbt",
        bash_command="pip list | grep dbt && echo $PATH && which dbt"
    )

运行后查看日志:

  • 如果pip list无dbt相关结果:说明dbt安装失败,需查看MWAA的依赖安装日志(见步骤4)排查具体错误。
  • 如果有dbt结果但which dbt无输出:说明dbt安装路径不在当前PATH中,直接使用日志显示的完整路径替换原测试命令即可。

3. 使用PythonOperator调用dbt(更可靠的方式)

避免依赖系统PATH问题,直接通过Python模块调用dbt CLI:

from airflow import DAG
from airflow.operators.python import PythonOperator
from airflow.utils.dates import days_ago
from dbt.main import main

def run_dbt_version():
    main(["--version"])

with DAG(dag_id="dbt-installation-test", schedule_interval=None, catchup=False, start_date=days_ago(1)) as dag:
    dbt_version_task = PythonOperator(
        task_id="dbt_version_check",
        python_callable=run_dbt_version
    )

这种方式无需依赖系统环境变量,稳定性更高。

4. 查看MWAA依赖安装日志

MWAA在创建/更新环境时,会将依赖安装的详细日志输出到CloudWatch日志组:/aws/mwaa/environments/[你的环境名]/logs/dependency_installation。查看该日志可直接定位dbt安装失败的具体原因(如依赖缺失、编译错误等)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 22:50:30