首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Airflow:如何使用tfx的AirflowDagRunner在运行时为tfx管道创建分布式气流中的虚拟python环境?

Airflow:如何使用tfx的AirflowDagRunner在运行时为tfx管道创建分布式气流中的虚拟python环境?
EN

Stack Overflow用户
提问于 2021-04-06 00:10:51
回答 2查看 278关注 0票数 1

我有一个DAGS,我想在同一个分布式airflow集群中的不同python环境中运行它。是否可以在执行DAG时创建虚拟python环境?

我希望将tfx ML管道添加到我们的分布式airflow平台,并且不可能在每个工作节点中单独安装tfx。

编辑:我希望使用固有的tfx AirflowDagRunner,它是基于python操作符的。我不希望更改任何tfx代码来处理这种情况。

EN

回答 2

Stack Overflow用户

发布于 2021-04-06 00:38:35

您可以随意创建和拆除虚拟环境(venv)。如果您的软件在拆卸之前不等待来自环境的结果,那将是最好的。

要以编程方式创建环境,只需从您最喜欢的编程语言运行一个shell命令并传入常用的命令行即可。如果您在venv中使用python程序执行Python程序,则venv将被选中。

例如,如果您在/var/venvs/123中创建venv,请使用类似于/var/venvs/123/bin/python的命令行运行您的Python程序,并传递任何必要的参数。

票数 0
EN

Stack Overflow用户

发布于 2021-04-06 01:30:31

您应该尝试PythonVirtualenvOperator,Airflow将根据操作员参数创建特殊的venv

具有openpyxl和pandas库的示例venv:

代码语言:javascript
复制
extract_some_data = PythonVirtualenvOperator(
    task_id="extract_some_data ",
    python_callable=extract_some_data ,
    requirements=["openpyxl", "pandas"],
    python_version='3.7',
    system_site_packages=False,
    provide_context=True,
    op_kwargs={
        "uuid": "{{ ti.xcom_pull(key=None, task_ids='generate_uuid') }}"
    },
    dag=dag
)

Airflow文档:

https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/operators/python/index.html?highlight=pythonoperator#airflow.operators.python.PythonOperator

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66956022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档