我试图与自定义运营商在管理的亚马逊气流(MWAA)。滴答是我的自定义操作员在亚马逊提供商包上中继,该包是通过pip (requirements.txt)安装的。
我继承的运算符是EmrContainerOperator
插件文件夹,我上传了(在我的例子中,不需要钩子)
plugins
|-- __init__.py
`-- operators
|-- __init__.py
`-- my_operator.py在init中,我通过扩展AirflowPlugin定义了插件
from airflow.plugins_manager import AirflowPlugin
from operators.my_operator import MyOperator
class MyPlugin(AirflowPlugin):
name = 'my_plugin'
operators = [MyOperator]requirments.txt文件内容
apache-airflow-providers-snowflake==3.3.0
apache-airflow-providers-amazon==2.4.0
dag-factory==0.15.0
apache-airflow-providers-slack但我遇到了令人讨厌的错误:
Broken plugin: [/usr/local/airflow/plugins/operators/mys_operator.py] No module named 'airflow.providers.amazon.aws.operators.emr'发布于 2022-10-10 20:15:20
两天后,我终于意识到问题出在哪里。MWAA预装了AWS提供者2.4.0版本.我使用的emr_container操作符(在我安装的最新提供程序上)被移动到不同的文件路径,类被重命名。因此,我找不到MWAA中的那个班。
https://stackoverflow.com/questions/74011009
复制相似问题