"missing parameter type"分组按



我是一个scala新手,很难理解应该是一行简单的代码。我做了一个 .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))

编译器能够推断出"it"是过滤器和map中的Map[String,Any],但不能推断groupBy。为什么??

与其说是答案,不如说是建议:

尝试拆分链式调用:

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

获取 REPL 中的 foo 类型。

您要求它求解映射的结果类型(即 Map)以及 groupBy,后者严重重载并带有隐式内容。

在对 API 了解不多的情况下,如果类型参数不可推断,我也不会感到惊讶。

相关内容

最新更新