栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

解决Spark GraphX报错: java.lang.ArrayIndexOutOfBoundsException: -1

解决Spark GraphX报错: java.lang.ArrayIndexOutOfBoundsException: -1

看很少有博客说这种问题,那我就分享一下踩坑记录吧~

首先说一下解决方法:增加executor的内存资源:--executor-memory 

最近用spark做了一个有关风险传导的算子,其中调用了GraphX进行计算,测试时用的数据量比较少,所以没有意外地执行完毕了。

但是在数据量增加之后,首先报了shuffle读写不平衡的错,这是在图计算中产生的大量shuffle和资源配置不平衡导致的,了解spark的童鞋都清楚,调整资源就可以解决。但是在调整资源之后,又报了个错: java.lang.ArrayIndexOutOfBoundsException: -1

具体如图:

 按照常规思路:资源的问题解决了,又报这个错,而且是数组越界,很容易就想到---不会是代码逻辑出问题了吧? 然后,对数据中的null、空字符串等等进行检查之后,发现没有问题。

之后查询发现,graphx数据量变大的时候,很容易出现这种问题:[SPARK-5480] GraphX pageRank: java.lang.ArrayIndexOutOfBoundsException: - ASF JIRAz

既然是数据量大导致的,那么就放大资源试试好了,然后试着增加每个executer的内存,解决啦~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/673993.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号