У меня есть ниже фрагмент кода из кода, где rdd
является RDD[(String,Vector)]
, но, к сожалению, мой Scala компилятор жалуется с ошибкой Type mismatch, expected: RDD[(String,Vector)], actual: RDD[(String,Vector)]
где я называю flagVectorOutlier(rdd, predictedRDD)
Идентичные несоответствие типов в Scala
def someFunction() {
testData.foreachRDD(rdd => {
val vectorsRDD = rdd.map(pair => pair._2)
val predictedRDD = model.latestModel().predict(vectorsRDD)
flagVectorOutlier(rdd, predictedRDD)
})
ssc.start()
ssc.awaitTermination()
}
def flagVectorOutlier(testVectors: RDD[(String, Vector)], predicts: RDD[Int]): Unit = {
}
Учитывая фактические и ожидаемые типы то же самое, что здесь не так? Как я могу решить эту проблему?
Как выглядит ваш импорт? –
@ LionelPort Я использую эти импорты: 'import org.apache.spark.SparkConf' ' import org.apache.spark.rdd.RDD' 'import org.apache.spark.streaming._' ' import org .apache.spark.streaming.StreamingContext' 'import org.apache.spark.mllib.linalg.Vectors' ' import org.apache.spark.mllib.clustering.StreamingKMeans' –
Что произойдет, если вы добавите этот тип спецификатора в foreachRDD (rdd: RDD [(String, Vector)] ...? Являются ли эти классы Java String и Vector? – n0741337