在Composer上运行Dataflow作业时,请参考setup.py文件



我有一个数据流管道,它具有以下通用文件结构:

root_dir/
setup.py
pipeline_main.py
requirements.txt
dependencies_dir/
__init__.py
some_functions.py

我的setup.py文件大致如下:

import setuptools
setuptools.setup(
name=<name>,
version='1.0.0',
install_requires = [],
packages=setuptools.find_packages(),
)

这作为一个独立的代码工作得很好,但我正在努力将其纳入Composer中。我知道有了Airflow,我们可以使用"插件"文件夹来导入功能。但是这个setup.py和requirements.txt的目的是为数据流工作程序安装所需的依赖项。在本地文件系统中,我们会使用类似于'-setup-file=的东西/setup.py'和'requirements_file=/requirements.txt'。

Airflow中是否有一个特定的目录可以用于setup.py(和相应的包(以及requirements.txt?

谢谢!

Cloud Composer的文档向您展示了如何在此处将包安装到环境中。

没有目录-要更新Cloud Composer环境,必须直接与环境交互。通过API、Terraform、GCloud或Web控制台。

您可以在机器上本地安装来自requirements.txt的软件包:

gcloud composer environments update ENVIRONMENT_NAME 
--location LOCATION 
--update-pypi-packages-from-file requirements.txt

对于将来遇到问题的人来说,Airflow可以本机读取三个文件夹:dags/data/plugins/

对我来说,它的工作方式是将setup.pyrequirements.txt包含在data/文件夹中。。出于某种原因,Dataflow不会以本机方式读取absoulte GCS目录,但您可以使用Airflow的人工文件系统,数据文件夹示例为/home/airflow/gcs/data。该值可能会根据您的Airflow配置而有所不同,但如果您设置了正确的目录,则会执行该值。

最新更新