Я новичок в Scala. Я знаю, что ошибка связана с инициализацией Tuple1, Tuple2, но не в состоянии полностью понять конкретную причину.Что означает эта ошибка scala: «несоответствие типа: найдено: (((Long, Long), Long),) required: (((Long, Long), Long)) ⇒ String"
Вот сообщение об ошибке синтаксиса, которое я получаю: тип несоответствие; (длинные, длинные), длинные)) ⇒ Строка
и вот фрагмент кода, вызывающий его.
dedupedRDD = iterateRDD.mapPartitions(p => {
var minVal = 0L
p.map {
val tpl = p.next()
val key = tpl._1._1
val value = tpl._2
var outputTuple : Tuple2[Tuple2[Long, Long],Long] = null
if(key != prevKey){
if(value < key){
minVal = value;
outputTuple = ((minVal, key) , key)
newEdgeCounter.add(1L);
}else{
minVal = key;
outputTuple = ((minVal,value), value)
}
}else{
outputTuple = ((minVal, value), value)
}
prevKey = key;
outputTuple
}
})
Как создать выходные кортежи (((Long, Long), Long)). Любая помощь будет принята с благодарностью. Благодарю.
Я согласен с @Rex Kerr. Вам нужно вывести строку, вместо этого вы выберете кортеж (var outputTuple). Вам нужно сделать что-то, что создает строку. –