mysql - xcom_push 总是抛出 Invalid utf8mb4 字符串警告 - Airflow 1.10.9
问题描述
无论我使用 xcom_push() 推送什么,它总是抛出:
WARNING - /usr/local/lib/python3.6/site-packages/sqlalchemy/engine/default.py:588: Warning (1300, "Invalid utf8mb4 character string: '800358'") cursor.execute(statement, parameters)
我知道是 xcom_push() 抛出错误,因为如果我注释掉所有 xcom_pushs,那么警告就会消失。我尝试了一个带有静态文本的 xcom_push() ,但仍然出现错误。
task_instance.xcom_push(key="test", value="test")
我的后端是一个 MySql 数据库 v8.0.19。有什么建议可以解决吗?
编辑:数据库是这样创建的:
CREATE DATABASE airflow CHARACTER SET utf8 COLLATE utf8_unicode_ci;
编辑2:我尝试像下面这样重新创建数据库,但它仍然给出相同的警告:
CREATE DATABASE airflow CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
解决方案
好的,我没有赶上气流 1.10.x 需要 MySql 5.7。我更改了后端数据库,警告消失了。
推荐阅读
- python - 事务未进行,不能在 API 请求中使用。火灾存储错误
- python-3.x - 从 python 脚本返回结果到 Jupiter notebook 中的变量
- ansible - 使用 ansible 在组中有限数量的主机上运行任务
- php - PHP preg_replace 在同一个字符串中多次替换模式
- amazon-web-services - 使用 AWS CDK 配置具有 S3 源和自定义源 (ELB) 的 CloudFront 分配
- python - 在 Python Visual Studio Code Debugger 中调用类中的私有函数以观察列表
- javascript - 使用图层位置捕获或导出 konvajs 阶段
- image - Xamarin 表单从图像控件而不是文件从图像转换为 Base64
- javascript - (Javascript)当类是动态的时,如何计算特定类的元素总和?
- clojure - 没有命名空间的取消引用