我正在尝试帮助我的数据科学家团队使用 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/