文章目录

  • 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相关推荐

  1. 【Flink】RuntimeException: Row arity of from does not match serializers

    1.美图 2.背景 ControlEvent继承Row,想跟着flink的算子往下传递,结果报错 import org.apache.flink.types.Row;public class Cont ...

  2. ibatis sql_Map中出现异常:Cause: java.lang.RuntimeException: JavaBeansDataExchange could not instantiate..

    sql_map 原始配置 <select id="getContacts" parameterClass="Java.util.Map" resultCl ...

  3. Caused by: java.lang.RuntimeException: Font asset not found fonts/SYFZLTKHJW.TTF

    /*** 通过反射方法设置app全局字体*/public void setTypeface() {typeFace = Typeface.createFromAsset(getAssets(), &q ...

  4. 解决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 ...

  5. [正解]异常信息:java.lang.RuntimeException: Request cannot be executed; I/O reactor status: STOPPED

    笔者,从事大型项目监控设计流程,有一次需要将ES整合到项目中,ELK的那一套日志作为用户接口的调用基础,类似于采集.清洗.转换.存储. 刚开始设计代码及流程,之后把代码进行优化抽取,封装client等 ...

  6. Caused by: java.lang.RuntimeException: can not run elasticsearch as root

    爆报错截图如下:此错误是在centos7中启动elasticsearch6.0是报的错,原因报错中也已经写明是因为elasticsearch不能用root用户启动,解决方法如下:1.需要新建个用户组与 ...

  7. 记一次异常Caused by: java.lang.ClassNotFoundException: cn.exrick.xboot.core.entity.XXX

    正在学习从github拉的一个项目,在自己编写的时候将实体类复制过来之后,完成登录功能时提示错误: 查看后台报错信息 报错代码: 这里显示的是找不到User类,问题很容易理解,关键就是这个包路径,在我 ...

  8. 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 ...

  9. java.lang.RuntimeException: Performing stop of activity that is not resumed OOM了也会造成之前Activity被系统杀掉

    我在手机拍照,传照片到手机自带的剪切界面的时候:会造成之前的Activity被杀掉: 按返回键直接崩溃,异常为:java.lang.RuntimeException: Performing stop ...

最新文章

  1. 一个使用react native实现的短视频APP
  2. [zz]Apache Thrift学习小记
  3. Linux下用Xdebug调试php
  4. java 包权限_Java基础(十二)之包和权限访问
  5. Win10修改管理员用户名(注册表深度完全修改更改c盘下的用户名)
  6. python实现贝叶斯分类器_python实现简单的朴素贝叶斯分类器
  7. 测试开发——flask视图函数与路由 实战重点
  8. 王道 —— 进程的定义、组成、组织方式、特征
  9. 二级VB培训笔记11:培训答疑集
  10. str_replace()函数
  11. 剑指offer——数组中重复的数字
  12. 13、MVC 设计思想
  13. .NET程序反汇编JustDecompile 开源
  14. navicat12注册机生成相应注册码
  15. 系统集成项目管理工程师高频考点(第五章)
  16. px和毫米的换算_px与mm换算(px换成mm)
  17. 实用工具:常用数学公式
  18. 数据分析师 2020-8-09笔试题目 有感
  19. git常用命令和基本操作
  20. 使用VirtualBox搭建分布式集群环境记录

热门文章

  1. GDUT 排位赛2.19 E
  2. Android应届生在杭州的求职经历
  3. JPEG2000编码流程
  4. 最新人人分销程序V9.9商业版+活动模块/数十套微模板
  5. Android性能优化(5):APK瘦身优化
  6. Android APK文件结构 完整打包编译的流程 APK安装过程 详解
  7. 《写给大家看的设计书》粗读整理
  8. 数学建模-偏最小二乘回归模型
  9. mac mysql 忘记初始root密码,重置密码
  10. UML类图和时序图绘图工具