Я новичок scala, у которого есть трудное время с тем, что должно быть простой строкой кода. Я выполняю операцию .groupBy и закрываю «это», но компилятор жалуется на «отсутствующий тип параметра», и я понятия не имею, как его исправить. Вот точный код (это в другой сети, так что я должен перепечатывать - извините опечаток):«Отсутствует тип параметра» в groupBy
val rddSAInCache: RDD[Map[String, Any]] = getCache(SAInCacheExported, rddconfig)
.filter(it => it.path(EventType).getOrElse(NONE) == "SAInCache")
.map(it =>
Map(
("SAInCache" -> it.path(Time).getOrElse(NONE)),
(RequestID -> it.path(RequestID).getOrElse(NONE))
)
)
.groupBy(it => it.path(RequestID.getOrElse(NONE))
компилятор может сделать вывод, что «это» является карта [String, Any] и в фильтре и карту, но не группуBy. Зачем??
«groupBy» после «map», поэтому 'it' является тогда« Map », который не имеет метода' .path'. Может быть, это настоящая ошибка, и компилятор просто запутывается, пытаясь вывести тип кода, который не может быть прав? – lmm
Мы расширили карту, чтобы иметь метод пути. Это не проблема. – user1660256