【Flink异常】Caused by: java.lang.RuntimeException: Row arity of from does not match serializers
文章目录
- 1. 异常详情
- 2. 分析原因
- 3. 解决办法
1. 异常详情
Caused by: java.lang.RuntimeException: Row arity of from does not match serializers.at org.apache.flink.api.java.typeutils.runtime.RowSerializer.copy(RowSerializer.java:89)at org.apache.flink.api.java.typeutils.runtime.RowSerializer.copy(RowSerializer.java:47)at org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.pushToOperator(OperatorChain.java:577)at org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.collect(OperatorChain.java:554)at org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.collect(OperatorChain.java:534)at org.apache.flink.streaming.api.operators.AbstractStreamOperator$CountingOutput.collect(AbstractStreamOperator.java:718)at org.apache.flink.streaming.api.operators.AbstractStreamOperator$CountingOutput.collect(AbstractStreamOperator.java:696)at org.apache.flink.streaming.api.operators.TimestampedCollector.collect(TimestampedCollector.java:51)
2. 分析原因
① 查看报错源码位置
Row的长度(arity)与fieldSerializers.length长度不一致导致的报错.
② debug源码,查看两个from.getArity()与len的具体值
可知Row的长度为6(根据自己代码中有new Row(6))可知这个值是正确的,
那fieldSerializers.length =7这个值又从何而来?
③ 分析fieldSerializers长度异常的原因
根据fieldSerializers debug内容可知,其长度为7,类型为TypeSerializer[](StringSerializer)。应为Row的TypeInfomation序列化的结果。
报错原因:
Row的长度与TypeInformation的长度不一致
3. 解决办法
Flink改变schema时(修改字段个数或字段名),不使用原生的TypeInfomation,需要自己生成TypeInformation,来指定给转变后的DataStream。
笔者在代码中使用方式如下:(注:TestWindowFunction implements WindowFuntion)
dataStream.countWindow(1000)
.apply(new TestWindowFunction(), testRowTypeInfo);
笔者在TestWindowFunction中有new Row(6),而指定TypeInformation时testRowTypeInfo的长度为7,导致出现Row arity of from does not match serializers异常。
因此,Flink datastream 需要保证Row的长度与TypeInfomation字段个数相等。
【Flink异常】Caused by: java.lang.RuntimeException: Row arity of from does not match serializers相关推荐
- 【Flink】RuntimeException: Row arity of from does not match serializers
1.美图 2.背景 ControlEvent继承Row,想跟着flink的算子往下传递,结果报错 import org.apache.flink.types.Row;public class Cont ...
- ibatis sql_Map中出现异常:Cause: java.lang.RuntimeException: JavaBeansDataExchange could not instantiate..
sql_map 原始配置 <select id="getContacts" parameterClass="Java.util.Map" resultCl ...
- Caused by: java.lang.RuntimeException: Font asset not found fonts/SYFZLTKHJW.TTF
/*** 通过反射方法设置app全局字体*/public void setTypeface() {typeFace = Typeface.createFromAsset(getAssets(), &q ...
- 解决Caused by: java.lang.RuntimeException: Error parsing Mapper XML. Cause: java.lang.IllegalArgument
运行项目出现:Caused by: java.lang.RuntimeException: Error parsing Mapper XML. Cause: java.lang.IllegalArgu ...
- [正解]异常信息:java.lang.RuntimeException: Request cannot be executed; I/O reactor status: STOPPED
笔者,从事大型项目监控设计流程,有一次需要将ES整合到项目中,ELK的那一套日志作为用户接口的调用基础,类似于采集.清洗.转换.存储. 刚开始设计代码及流程,之后把代码进行优化抽取,封装client等 ...
- Caused by: java.lang.RuntimeException: can not run elasticsearch as root
爆报错截图如下:此错误是在centos7中启动elasticsearch6.0是报的错,原因报错中也已经写明是因为elasticsearch不能用root用户启动,解决方法如下:1.需要新建个用户组与 ...
- 记一次异常Caused by: java.lang.ClassNotFoundException: cn.exrick.xboot.core.entity.XXX
正在学习从github拉的一个项目,在自己编写的时候将实体类复制过来之后,完成登录功能时提示错误: 查看后台报错信息 报错代码: 这里显示的是找不到User类,问题很容易理解,关键就是这个包路径,在我 ...
- azkaban 与 java任务_azkaban任务报错java.lang.RuntimeException: The root scratch dir: /tmp/hive...
azkaban运行任务的时候失败报错如下: 23-03-2016 08:16:14 CST analyzer-kafka2hdfs_new ERROR - Exception in thread &q ...
- java.lang.RuntimeException: Performing stop of activity that is not resumed OOM了也会造成之前Activity被系统杀掉
我在手机拍照,传照片到手机自带的剪切界面的时候:会造成之前的Activity被杀掉: 按返回键直接崩溃,异常为:java.lang.RuntimeException: Performing stop ...
最新文章
- 一个使用react native实现的短视频APP
- [zz]Apache Thrift学习小记
- Linux下用Xdebug调试php
- java 包权限_Java基础(十二)之包和权限访问
- Win10修改管理员用户名(注册表深度完全修改更改c盘下的用户名)
- python实现贝叶斯分类器_python实现简单的朴素贝叶斯分类器
- 测试开发——flask视图函数与路由 实战重点
- 王道 —— 进程的定义、组成、组织方式、特征
- 二级VB培训笔记11:培训答疑集
- str_replace()函数
- 剑指offer——数组中重复的数字
- 13、MVC 设计思想
- .NET程序反汇编JustDecompile 开源
- navicat12注册机生成相应注册码
- 系统集成项目管理工程师高频考点(第五章)
- px和毫米的换算_px与mm换算(px换成mm)
- 实用工具:常用数学公式
- 数据分析师 2020-8-09笔试题目 有感
- git常用命令和基本操作
- 使用VirtualBox搭建分布式集群环境记录