python - 无论如何,我可以在 Airflow 中设置运行我的代码的工作目录吗?

标签 python python-3.x airflow

我正在尝试帮助我的数据科学家团队使用 Airflow 运行他们的代码。 我面临的问题是他们的 python 脚本会读/写一些中间文件。

1)是否可以设置脚本和文件可以存在的工作目录,这样就不会弄乱 dags 文件夹?

2)即使我使用 dag 文件夹,每次读/写这些文件时我都必须指定绝对路径。除非有其他方法解决这个问题?

即我必须一直这样做:-

absolute_path="/some/long/directory/path"    
f = os.path.join(absolute_path,file_name)

最佳答案

您可以使用 os 模块来执行此操作。如果您将类似这部分代码的内容放在 dag 文件的顶部:

import os
os.chdir('/home/lnx/test/')

它将把 dag 中运行的所有任务的工作目录更改为 /home/lnx/test,这样您就不必提供绝对路径。但是,它需要包含在需要此工作目录的每个 dag 的顶部。

虽然这将是一个迟来的答案,但希望它可以帮助处于这个位置的其他人。

关于python - 无论如何,我可以在 Airflow 中设置运行我的代码的工作目录吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55292629/

相关文章:

python-3.x - CNN-将图像分为训练/验证/测试

python - 在python中绘制带有图例的垂直线

python - BigQuery API 的 GKE Pod 下载速度很慢

python : tracking change in class to save it at the end

rest - 如何使用 Airflow DAG 调用 REST 端点

python - 如何在 Airflow 中的 SLA 上设置时间对象而不是 timedelta?

airflow - 如何使用 Apache Airflow 的 DataprocCreateClusterOperator 在 Dataproc(GCP) 上启用 Spark Web 界面

python - 强制 celery 使用 StrictRedis

python-3.x - 如何在特定异常时重试请求

python - Heroku: “Process exited with status 127” 部署 python Django App 后