我需要并行运行包,但不需要显著的缩放,所以LocalExecutor可以很好地完成这项工作。我浏览了一下气流文档,首先创建了一个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
当我运行气流db init,我遇到以下错误消息:
AttributeError: 'MySQLConverter'对象没有属性'_dagruntype_to_mysql'
在处理上述异常时,发生了另一个异常:TypeError: Python 'dagruntype'不能转换为MySQL类型
请注意,在airflow.cfg中没有其他内容使用默认的SequentialExecutor和sqlite可以让一切正常运行。还请注意,我使用的是版本2.2.0的气流
我找到了解决我自己问题的方法。我没有使用mysqlconnector,而是使用pymysql驱动程序:
pip install PyMySQL
airflow.cfg然后可以按如下方式调整参数:
sql_alchemy_conn = mysql+pymysql://<user>:<pass>@localhost:3306/airflow_db
其他都可以保持不变。