在 Airflow 中将 txt 文件写入磁盘不起作用

Writing txt file to disk in Airflow is not working

我一直在尝试通过 DAG 脚本将简单文本写入本地 txt 文件。即使任务成功运行。我似乎无法在任何地方找到该文件。是因为我在 Windows 上使用 WSL 吗?

这是我的简单脚本:

import os

from datetime import datetime, timedelta

from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from airflow.operators.python_operator import PythonOperator

default_args = {
    "owner": "airflow",
    "depends_on_past": False,
    "start_date": datetime(2020, 12, 5),
    "retries": 0,
}


dag = DAG(
    "simple_dag",
    default_args=default_args,
    schedule_interval="@once",
)

t1 = BashOperator(
    task_id="print_file",
    bash_command='echo "pipeline" > opDE.txt',
    dag=dag)



t1 

您需要为输出文件定义一个路径。 当 Airflow 执行您的代码时,它将它移动到临时位置并从那里执行它,因此它会将它导出到该位置。从日志中也可以看到:

所以解决方法是导出到所需的路径