Я новичок в Scala и Spark. Я получаю ошибку компиляции в intellij для приведенного ниже оператора, который находится внутри основной функции: -
val userIdBySession = epochByUserId.map(getSessions)
Ошибка компиляции в intellij: -
Type Mismatch, expected:(String, Seq[Long])=> NotInferedU,
actual:(String, Seq[Long])=> (String, Int, Int, Int, Int)
Мое объявление для метода getSessions:
def getSessions(userId:String, epochList:Seq[Long]):(String, Int, Int, Int, Int)
Пример RDD epochByUserId:
(b3a60c78,CompactBuffer(1471330761, 1471330761, 1471330791, 1471330791))
(eaefd399,CompactBuffer(1471330773))
(721f634f,CompactBuffer(1471330820))
Как исправить эту ошибку компиляции? Почему я получаю сообщение об ошибке: NotInferU. Кроме того, соответствует ли тип compactBuffer Seq [Long], как в определении getSessions?
@Metropolis, похоже, нет типа CompactBuffer. CompactBuffer - это подкласс Seq




Что произойдет, если вы сделаете тип
epochListвgetSessnionsCompactBuffer[Long]? Это поможет ответить на ваш последний вопрос.