/ / "Tipo de parâmetro ausente" em groupBy - scala, scala-collections, scala-2.10

“Missing parameter type” no groupBy - scala, scala-collections, scala-2.10

Eu sou um novato em scala que está tendo dificuldades como que deve ser uma simples linha de código. Eu faço uma operação .groupBy e fecho "it", mas o compilador reclama de um "tipo de parâmetro ausente" e não tenho idéia de como corrigi-lo. Aqui está o código exato (ele está em uma rede diferente, então eu tenho que redigitar - desculpe qualquer erro de digitação):

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))

O compilador é capaz de inferir que "it" é um Map [String, Any] no filtro e no mapa, mas não no groupBy. Por quê??

Respostas:

2 para resposta № 1

Mais uma sugestão do que uma resposta:

Tente dividir a chamada em cadeia:

val foo = rdd map f
val bar = foo groupBy g

Obtenha o tipo de foo no REPL.

Você está solicitando que ele resolva o tipo de resultado do mapa, que é um Mapa, junto com o groupBy, que está sobrecarregado e carrega implícitos.

Sem saber muito sobre a API, não me surpreenderia se um parâmetro do tipo não fosse inferível.