Apache Airflow Docker:如何安装外部气流提供程序包

我在 docker 上运行 Apache Airflow。我想为 spark 安装一个气流提供程序包。我的 docker compose yml 文件看起来像 this 。当我尝试在气流中创建新连接时,我想将 Spark 添加为我的连接类型。我怎样才能做到这一点?

stack overflow Apache Airflow Docker : How to install external airflow provider packages
原文答案

答案:

作者头像

您应该创建新的自定义映像并使用它来代替基础映像。见: https://airflow.apache.org/docs/docker-stack/build.html

作者头像

您现在可以使用默认组合指定要在启动时安装的提供程序(无需构建自定义映像)。您可以通过将提供者的 pip 包名称附加到 docker-compose 文件中的环境变量 _PIP_ADDITIONAL_REQUIREMENTS 来做到这一点。

...
x-airflow-common:
  ...
  environment:
    &airflow-common-env
    AIRFLOW__CORE__EXECUTOR: CeleryExecutor
    AIRFLOW__DATABASE__SQL_ALCHEMY_CONN: ...
    ...
    _PIP_ADDITIONAL_REQUIREMENTS: ${_PIP_ADDITIONAL_REQUIREMENTS:- apache-airflow-providers-docker apache-airflow-providers-microsoft-mssql}
volumes:
    ...

https://stackoverflow.com/a/68607370