"缺少参数类型#34;在组中

时间:2015-01-20 22:22:56

标签: scala scala-collections scala-2.10

我是一个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 [String,Any],而不是groupBy。为什么?

1 个答案:

答案 0 :(得分:2)

更多的建议而不是答案:

尝试拆分链式调用:

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

在REPL中获取foo的类型。

你要求它解决地图的结果类型,这是一个Map,以及groupBy,它严重超载并带有暗示。

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