Airflow - 如何重新加载运算符和插件

nic*_*ola 5 airflow

我是 Airflow 的新手,当我更改代码时,我无法理解如何重新加载运算符/插件。我正在使用 LocalExecutor 和外部数据库 (MySql)。我尝试重新启动网络服务器和调度程序,但在导入 dags 时仍然遇到相同的错误:

    File "/home/ec2-user/airflow/dags/extractor.py", line 2, in <module>
    from airflow.contrib.operators.emr_spark_plugin import EmrSparkOperator
ImportError: No module named emr_spark_plugin
Run Code Online (Sandbox Code Playgroud)

Nad*_*nes 10

我知道这已经非常旧了,但是对于那些仍在寻找良好解决方案的人来说,新版本的 Airflow 现在可以自动处理这个问题。

https://airflow.apache.org/docs/stable/configurations-ref.html#reload-on-plugin-change

您需要在该部分下的文件reload_on_plugin_change = True中进行设置。airflow.cfg[webserver]


Mik*_*ike 6

尝试重新启动 Web 服务器和调度程序。

实际上没有一个好的内置方法可以做到这一点,我建议使用此答案中建议的 systemd 。