在Airflow 1.10.9中,“xcom_push”操作可能会抛出“无效的utf8mb4字符串警告”。这是因为Airflow默认使用utf8mb4字符集编码字符串,而MySQL数据库默认使用utf8字符集。要解决这个问题,可以通过以下几个步骤来更改Airflow的字符集设置:
打开Airflow的配置文件 airflow.cfg
。
找到并修改以下配置项:
sql_alchemy_conn = mysql://username:password@localhost:3306/airflow?charset=utf8
将 charset=utf8
添加到 sql_alchemy_conn
配置项中,以指定使用utf8字符集。
找到并修改以下配置项(如果不存在,则添加):
[mysql]
charset=utf8
在 [mysql]
部分下添加 charset=utf8
配置项。
重新启动Airflow服务。
这样配置后,Airflow将使用utf8字符集与MySQL数据库进行通信,避免了“无效的utf8mb4字符串警告”。