【Airflow踩坑】XCom大数据传递反序列化失败
基本信息
Airflow版本:2.2.3
部署方式:K8s + helm
后端数据库:Mysql5.7
异常描述
注意:Airflow官方不推荐通过XCom方式在任务间传递较大数据
我在做一个ETL任务时,发现上流任务的返回值(5W条数据),无法在下流任务中解析出来。
默认使用的是以Json数据作为任务之间的值传递。
查看日志,抛出异常如下:
json.decoder.JSONDecodeError: Unterminated string starting at: line 1 column 65528 (char 65527)
json反序列失败了。
如果是采用pickle
二进制作为任务之间的值传递,则会出现以下报错:
airflow pickle data was truncated
意思是,这个数据被截断了,即不完整。
解决方案
看到truncated
关键字,数据被截断。
这让我判断出可能和Mysql字段定义的长度有关系。
任务之间的值传递依赖Xcom
模块,它在后端数据库的表明同名,查看value
字段的类型为blob
blob
最大的存储为65kb
,我们只需要修改这个字段类型为mediumblob
或者 longblob
。
ALTER TABLE `airflow`.`xcom`
MODIFY COLUMN `value` mediumblob NULL AFTER `key`;
参考文章
- MySQL中的BLOB类型
【Airflow踩坑】XCom大数据传递反序列化失败相关推荐
- 004-protostuff踩坑-java bean新增字段反序列化失败问题
protostuff 避免 更改 java 对象字段 ,比如新增一个,导致 redis 等缓存 的数据反序列化失败问题?? 问题重现: 我们有个方法 通过 attrKey 查询 List ,同时方法中 ...
- #Jetson-NX踩坑记--Etcher Flash Failed 烧录失败的解决办法
#Jetson-NX踩坑记--Etcher Flash Failed 烧录失败的解决办法 问题 解决方案 问题 根据 官方教程 使用 Etcher 烧录 Jetson NX 的镜像文件时总是失败,如图 ...
- Vue 踩坑笔记: 引入 ElementUI 时打包失败修复记录(ERROR in ./node_modules/element-ui/lib/theme-chalk/index.css)
Vue 踩坑笔记: 引入 ElementUI 时打包失败修复记录(ERROR in ./node_modules/element-ui/lib/theme-chalk/index.css Module ...
- 大数据岗位面试失败的经历总结,这些面试的坑莫在踩
本人住在有人间天堂之称的城市,6年多开发经验,最近2年主要在做大数据相关的开发,最近考虑换工作,基本也只考虑大数据相关岗位.目前新工作已经找好,但想分享一下最近面试的失败一些经历(成功的那些就不讲了) ...
- Antv踩坑—导入画布数据监听画布渲染完成事件
Antv 踩坑记录之监听画布渲染完成事件 前言 一.导入后台返回的json数据 1.页面判断 新增/详情页 2.后台json数据 二.监听 1.核心监听 2.console 总结 Antv 踩坑记录之 ...
- 上汽乘用车-大数据岗位面试(失败经历)
步骤 备注 boss直聘 简历投递给 大数据岗位 专业面试 微信远程面试 面试的是部门最高领导,该领导手下有个博士在带团队. 问了tornado和Django的区别(一个支持异步一个不支持,Djang ...
- 为什么你的大数据项目会失败?
引言 :近年来大数据.人工智能概念喧嚣尘上,各类 大数据应用 层出不穷.这些融合了海量数据.高性能计算平台.智能算法.酷炫的数据可视化效果的企业级大数据应用产品成为了企业的新的宠儿."大平台 ...
- JPA踩坑笔记(一) - 数据查询的两种方式
本文介绍一下JPA常见的两种查询方式. 注:数据库为Oracle 1.前置准备 1.引入jar包 使用JPA,首先引入jar包,一个是JPA,另一个是数据库驱动,我使用的是Oracle数据库. < ...
- 项目踩坑之Echarts数据视图不更新问题
问题描述 Echarts检测到数据更新不会立即更新相应的视图.也就是说即使series中data 或者value的值发生变化,Echarts也不会发生改变. 解决方法 发送请求获取数据以后重新 ...
- 阿里,B站小伙伴刚刚分享的大数据开发运维学习规划,抓紧收藏
一.大数据运维相关答疑与概述 1.0 Class介绍 本课程是专门培养大数据运维与架构方向专业人才的体系化课程.课程所有讲师小伙伴全部是在职的知名企业大数据开发专家,大数据技术专家职位员工,非专门的培 ...
最新文章
- c语言字符串文库总结,C语言字符串.ppt
- MySQL高级 - 存储引擎 - 特性
- cocos2d-x游戏实例(6)-A星算法(2)
- SAP Spartacus cost center list class的赋值逻辑
- apache mysql php 安装配置_Windows下Apache,MySql,PHP安装配置
- HDU 5183 Negative and Positive (NP)
- hyper-v redhat使用新网卡
- acl自然语言处理_ACL 2020中自然语言处理中的知识图
- Sketch项目安装缺失字体
- JNI引用溢出导致的重启问题分析
- 在R中进行偏相关分析
- 小鑫の日常系列故事(一)——判断对错
- java将小写的日期转换为大写的日期
- 手把手教你做小米商城-商品展示页面
- 低值易耗材料管理系统
- 【微信小程序】——Mobx全局数据共享和分包
- Auto MDI/MDI-X 简要说明及网线头线序
- 数学建模:整数规划示例模型 (Python 求解)
- OV、DV、EV证书的区别
- 史蒂芬·金《肖申克的救赎》读后感
热门文章
- 如何在MS Access中创建用户权限和自定义菜单
- MySQL安装问题 Starting the server 失败
- 看雪CTF.TSRC 2018 团队赛 第二题 半加器 writeup
- 智能风控模型之数据源类型
- PyMol2.4安装教程
- JAVA高级视频_IO输入与输出_第一部分(System、Runtime、Date、Calendar、MathRandom、IO输入输出与概述、文件的续写、FileReader、复制文件、)...
- Linux下的任务管理器-top命令
- ubuntu 打开任务管理器命令行命令
- android app 设置以太网静态Ip
- FireFox新标签页打开搜索和书签