【问题标题】:Airflow Bash Operator : Not able to see the outputAirflow Bash Operator:看不到输出
【发布时间】:2021-04-23 13:55:54
【问题描述】:

我是 Airflow 的新手,正在尝试创建一个执行 bash 文件的简单任务(其工作只是创建一个目录)。我已经在 bash_command 中给出了要执行的 bash 文件的完整路径(末尾有一个空格)。但是,从 UI 触发 DAG 后,我在日志中没有看到任何错误,也没有使用 bash 文件中指定的名称创建文件夹。

有人可以帮我解决这个问题吗?

【问题讨论】:

  • 嗨。您在 QA 网站上询问有关编程的问题。不要用文字描述你(认为你)在你的代码中做了什么,编辑你的问题并展示它。

标签: bash airflow


【解决方案1】:

BashOperator 执行时,Airflow 会创建一个临时目录作为工作目录并执行 bash 命令。执行完成后,临时目录将被删除。

要保留从 bash 命令创建的目录,您可以

  • 指定工作目录之外的绝对路径,或
  • 将您的工作目录更改为临时目录之外的位置。

我正在 Airflow 主目录中创建一个测试目录。

    p = BashOperator(
        task_id='create_dir',
        bash_command='pwd; mkdir $AIRFLOW_HOME/test; ls -al',
    )

【讨论】:

  • 您好,感谢您的指导。我正在使用 docker 执行 Airflow。我能够使用您的指针并将 bash 输出设置为 docker 内的绝对路径。
猜你喜欢
  • 2021-11-02
  • 1970-01-01
  • 2022-11-18
  • 1970-01-01
  • 2018-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多