无法为 Airflow LocalExecutor 设置 MySQL 后端

Cannot setup a MySQL Backend for Airflow LocalExecutor

我需要并行 运行 dags 但不需要显着缩放,因此 LocalExecutor 可以很好地完成这项工作。我查看了 Airflow 文档并首先创建了一个 MySQL 数据库:

CREATE DATABASE airflow_db CHARACTER SET utf8;
CREATE USER <user> IDENTIFIED BY <pass>;
GRANT ALL PRIVILEGES ON airflow_db.* TO <user>;

然后我在airflow.cfg文件中修改如下参数:

executor = LocalExecutor
sql_alchemy_conn = mysql+mysqlconnector://<user>:<pass>@localhost:3306/airflow_db

当我运行airflow db init时,我运行进入如下错误信息:

AttributeError: 'MySQLConverter' 对象没有属性 '_dagruntype_to_mysql'

在处理上述异常的过程中,又发生了异常: 类型错误:Python 'dagruntype' 无法转换为 MySQL 类型

请注意,airflow.cfg 文件中的任何其他内容均未更改,使用默认的 SequentialExecutor 和 sqlite 可以让一切 运行 都很好。另请注意,我使用的是 Airflow 版本 2.2.0

我找到了我自己的问题的解决方案。我没有使用 mysqlconnector,而是使用了 pymysql 驱动程序:

pip install PyMySQL

airflow.cfg参数可以调整如下:

sql_alchemy_conn = mysql+pymysql://<user>:<pass>@localhost:3306/airflow_db

其他都可以保持不变。