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

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

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

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

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

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

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

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

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

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

posted @ 2019-07-02 10:06  chenzechao  阅读(2490)  评论(0编辑  收藏  举报