spark.read.csv读取CSV文件 ArrayIndexOutOfBoundsException报错

通过 spark.read.csv读取CSV文件时,遇到 到 ArrayIndexOutOfBoundsException报错,初步判断是缺少参数导致,放百度看看,没找引起问题相关的参数。

第一个看到的可能是null值导致,以前的字段也有空值,但无此问题啊。

另有说是paranamer包太旧与JDK1.8有问题,升级到最新版本可以解决,操作后,发现问题依旧。

再次放百度,没找到相关的,其中有一个说是内部表与外部表关联时,如果外部表的字段不一样,会有这个报错。那么会不会是文件的问题呢?

删除文件,只保留几行,并且都是非Null,重跑可以正常显示,明显是文件的问题。

再加多几条记录,带有null,重跑,还是正常,说明不是null值导致的。

不停加记录然后重跑,最后定位到有问题的那条记录,文件格式没问题,那为什么会报错呢?

这个文件因为是csv,为了方便可以直接使用excel打开,我设置存储编码为gbk,会不会是编码问题?

修改为UTF-8,重跑,问题解决。

转载于:https://www.cnblogs.com/chenzechao/p/11118798.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值