有没有办法使用Airflow在本地写入文件?

问题描述 投票:0回答:1

我正在一个项目中使用气流,而且我是初学者。我正在寻找在本地写入文件。

我尝试过(这是我的 DAG):


from datetime import datetime, timedelta
from airflow import DAG
from airflow.operators.python import PythonOperator

def write_simple_file(**kwargs):
    file_path = '/Users/paul/airflow/output/hello_airflow.txt'
    with open(file_path, 'w') as file:
        file.write("Hello from Airflow DAG!\n")
    print(f"File written to {file_path}")

default_args = {
    'owner': 'airflow',
    'depends_on_past': False,
    'email_on_failure': False,
    'email_on_retry': False,
    'retries': 1,
    'retry_delay': timedelta(minutes=5),
}

dag = DAG(
    'write_file_dag',
    default_args=default_args,
    description='DAG pour écrire un fichier simple',
    schedule_interval=None,  
    start_date=datetime(2024, 5, 7),
    catchup=False,
)

write_file_task = PythonOperator(
    task_id='write_file_task',
    python_callable=write_simple_file,
    dag=dag,
)

write_file_task

但我在日志中收到“没有此类文件目录”错误。

python airflow
1个回答
0
投票

如果您在 docker 中运行 Airflow,那么默认情况下,运行 DAG 的 docker 容器将看到类似 /opt/airflow 的文件夹结构,即它将无法访问您的笔记本电脑/mac 主文件夹。您可以使用 Python 逻辑将文件 scp 或 sftp 到您的主文件夹。

© www.soinside.com 2019 - 2024. All rights reserved.