【问题标题】:Apache Spark type mismatch of the same type (String)Apache Spark 类型不匹配的相同类型(字符串)
【发布时间】: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


【解决方案1】:

问题是一个 JAR 文件造成了冲突。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 2018-01-29
    • 2018-03-10
    • 2019-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多