【发布时间】:2015-06-04 23:12:07
【问题描述】:
编辑:回答:这是一个 JAR 文件造成了冲突! 相关帖子为:Must include log4J, but it is causing errors in Apache Spark shell. How to avoid errors?
执行以下操作:
val numOfProcessors:Int = 2
val filePath:java.lang.String = "s3n://somefile.csv"
var rdd:org.apache.spark.rdd.RDD[java.lang.String] = sc.textFile(filePath, numOfProcessors)
我明白了
error: type mismatch;
found : org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.RDD[String]
required: org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.RDD[String]
var rdd:org.apache.spark.rdd.RDD[java.lang.String] = sc.textFile(filePath, numOfProcessors)
编辑:第二种情况
val numOfProcessors = 2
val filePath = "s3n://somefile.csv"
var rdd = sc.textFile(filePath, numOfProcessors) //OK!
def doStuff(rdd: RDD[String]): RDD[String] = {rdd}
doStuff(rdd)
我明白了:
error: type mismatch;
found : org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.RDD[String]
required: org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.RDD[String]
doStuff(rdd)
^
没有评论...
任何想法为什么我会收到此错误?
【问题讨论】:
-
你为什么使用 java.lang.String?如果你一直使用 String 会发生什么?
-
我猜你的导入有一些问题。那些重复的路径表明有问题
-
完全一样,我会编辑问题,以免人们感到困惑
-
好的,我会尽量减少进口
-
我想我也遇到了同样的问题。我通过执行 mvn clean compile 摆脱了这个“jar 问题”
标签: scala types apache-spark mismatch