簡體   English   中英

在 Composer 上運行數據流作業時引用 setup.py 文件

[英]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.pyrequirements.txt 。由於某種原因,Dataflow 不會本機讀取絕對 GCS 目錄,但您可以在數據中使用 Airflow 的人工文件系統文件夾示例為/home/airflow/gcs/data 此值可能會根據您的 Airflow 配置而有所不同,但如果您設置正確的目錄,它將執行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM