如何在Spark 1.2.0中使用相同类型的found和required对象解决typemismatch?

时间:2016-01-14 17:34:01

标签: scala apache-spark

我已经实现了以下case类和一个函数来转换这个case类中org.apache.spark.sql.SchemaRDD的每一行:

case class FeatureVector(c: String, s: String, a: String, r: String, ra: String, d: String)

val raw_features = res.map( row => {
    val Seq(c,s,a,p,ra,d) = row.map(_.toString)

    new FeatureVector(c, s, a, map_prov_to_reg(p), ra, d)
})

当我尝试将一个函数(作为FeatureVector的参数)应用于raw_features.first(这将是一个FeatureVector)时,我有这样的错误:

<console>:58: error: type mismatch;

 found   : FeatureVector(in class $iwC)(in class $iwC)(in class $iwC)(in class $iwC)

 required: FeatureVector(in class $iwC)(in class $iwC)(in class $iwC)(in class $iwC)

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

这似乎是在Spark shell中定义案例类时可能发生的已知问题:

https://issues.apache.org/jira/browse/SPARK-5149