![](/img/trans.png)
[英]DataFlow Job Startup Takes Too Long When triggered from Composer
[英]Reference a setup.py file when Running Dataflow Job on Composer
我有一個具有以下一般文件結構的數據流管道:
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 的目的是為 Dataflow 工作人員安裝所需的依賴項。 在本地文件系統中,我們將使用類似“--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 dags/
、 data/
和plugins/
。
它對我有用的方式是在data/
文件夾中包含setup.py
和requirements.txt
。由於某種原因,Dataflow 不會本機讀取絕對 GCS 目錄,但您可以在數據中使用 Airflow 的人工文件系統文件夾示例為/home/airflow/gcs/data
。 此值可能會根據您的 Airflow 配置而有所不同,但如果您設置正確的目錄,它將執行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.