首页 > 解决方案 > 在 Airflow 中将 txt 文件写入磁盘不起作用

问题描述

txt我一直在尝试通过 DAG 脚本将简单的文本写入本地文件。即使任务成功运行。我似乎无法在任何地方找到该文件。是因为我在 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 

标签: python-3.xairflowwindows-subsystem-for-linux

解决方案


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

在此处输入图像描述

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


推荐阅读