Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 对bzip2 csv数据执行数据帧联合时出现索引越界错误_Scala_Apache Spark_Spark Csv - Fatal编程技术网

Scala 对bzip2 csv数据执行数据帧联合时出现索引越界错误

Scala 对bzip2 csv数据执行数据帧联合时出现索引越界错误,scala,apache-spark,spark-csv,Scala,Apache Spark,Spark Csv,这个问题很奇怪。如果我使用未压缩的文件,就没有问题。但是,如果我使用压缩的bz2文件,我会得到一个索引越界错误 从我所读到的,它显然是spark csv解析器,它不检测行尾字符,而是将整个内容作为一个巨大的行来读取。它可以在未压缩的csv文件上工作,但不能在.csv.bz2文件上工作,这一事实对我来说非常奇怪 而且,正如我所说,只有在进行数据帧联合时才会发生这种情况。我试着用spark上下文进行rdd联合,同样的错误。我的全部问题是我使用的是Scala IDE。我以为我在使用hadoop 2.7

这个问题很奇怪。如果我使用未压缩的文件,就没有问题。但是,如果我使用压缩的bz2文件,我会得到一个索引越界错误

从我所读到的,它显然是spark csv解析器,它不检测行尾字符,而是将整个内容作为一个巨大的行来读取。它可以在未压缩的csv文件上工作,但不能在.csv.bz2文件上工作,这一事实对我来说非常奇怪


而且,正如我所说,只有在进行数据帧联合时才会发生这种情况。我试着用spark上下文进行rdd联合,同样的错误。

我的全部问题是我使用的是Scala IDE。我以为我在使用hadoop 2.7,但我没有运行mvn eclipse:eclipse来更新我的m2_repo,所以我仍然在使用hadoop 2.2(在引用的库中,因为spark core最新版本默认引用hadoop 2.2,我不知道为什么)

总之,为了将来的参考,如果您计划使用spark csv,请不要忘记在pom.xml中指定hadoop版本,即使spark core本身引用了hadoop的一个版本


org.apache.hadoop
hadoop客户端
2.7.3
org.apache.spark
spark-core_2.11
2.0.1

您可能遇到了这个错误:-您使用的是什么Hadoop版本?我使用的是spark 2.0.0。就是这个错误,我得到了相同的堆栈跟踪。它说它是固定的,但spark csv要么使用该库的旧版本,要么实际上没有固定。你知道我如何手动修复吗?Spark可以运行各种Hadoop版本-你使用哪一个?这个错误似乎已经在2.5.0中修复,如果您使用的是早期版本,可能就是它。@TzachZohar,对不起,brain farted。我在hadoop 2.7上运行没关系:)嗯。。。不,抱歉,如果它是2.7,但看起来像是同一个bug,那么我就没有想法了…你不需要spark 2.0中的spark csv。csv源已经内置。