分享

Spark Graphx java.lang.ArrayIndexOutOfBoundsException: -1

各位大神,最近在使用Spark Graphx做一些图相关计算,遇到了 java.lang.ArrayIndexOutOfBoundsException: -1问题,大概的异常信息如下:
java.lang.ArrayIndexOutOfBoundsException: -1
at org.apache.spark.graphx.util.collection.GraphXPrimitiveKeyOpenHashMap$mcJI$sp.apply$mcJI$sp(GraphXPrimitiveKeyOpenHashMap.scala:64)
at org.apache.spark.graphx.impl.EdgePartition.updateVertices(EdgePartition.scala:91)
at org.apache.spark.graphx.impl.ReplicatedVertexView$$anonfun$2$$anonfun$apply$1.apply(ReplicatedVertexView.scala:75)
at org.apache.spark.graphx.impl.ReplicatedVertexView$$anonfun$2$$anonfun$apply$1.apply(ReplicatedVertexView.scala:73)
at scala.collection.Iterator$$anon$11.next(Iterator.scala:328)
at org.apache.spark.graphx.impl.EdgeRDDImpl$$anonfun$mapEdgePartitions$1.apply(EdgeRDDImpl.scala:110)
at org.apache.spark.graphx.impl.EdgeRDDImpl$$anonfun$mapEdgePartitions$1.apply(EdgeRDDImpl.scala:108)
at org.apache.spark.rdd.RDD$$anonfun$13.apply(RDD.scala:601)
...

查了异常信息,感觉错误和https://issues.apache.org/jira/browse/SPARK-5480很相似,但是程序在运行过程中,不是每次都能出现,数据量小时基本不出现,
数据量大的时候也是不固定出现。


通过网络提供的方案,做过如下尝试:
1. 对graph使用PartitionStrategy.RandomVert exCut重新分区
2. 日志中提示的报错代码
但是尝试都无效,依旧报错。


麻烦各位大神帮忙指点迷津!!

已有(3)人评论

跳转到指定楼层
bioger_hit 发表于 2018-12-29 20:18:17
有两个原因:1.对于一些数据,代码是没有问题的
2.对于一些特殊数据,代码不能处理了。
也就是说代码中对于数据的多样性造成这么一个bug.
回复

使用道具 举报

冰诺莫语 发表于 2018-12-30 22:18:00
bioger_hit 发表于 2018-12-29 20:18
有两个原因:1.对于一些数据,代码是没有问题的
2.对于一些特殊数据,代码不能处理了。
也就是说代码中对 ...

多谢帮忙解答,可能我没有说的特别清楚,对于同一份数据,也是有时候出现问题,有时没有问题,不固定频率出现的,对于这种情况,是不是暂时可以排除数据问题呢?还麻烦帮忙解答,多谢!
回复

使用道具 举报

s060403072 发表于 2019-1-1 13:22:43
冰诺莫语 发表于 2018-12-30 22:18
多谢帮忙解答,可能我没有说的特别清楚,对于同一份数据,也是有时候出现问题,有时没有问题,不固定频率 ...

不能排除,反而验证了这个问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条