"missing parameter type" 在分组中
"missing parameter type" in groupBy
我是一个 scala 新手,很难理解应该是一行简单的代码。我执行 .groupBy 操作并关闭 "it",但编译器抱怨 "missing parameter type",我不知道如何修复它。这是确切的代码(它在不同的网络上,所以我必须重新输入 - 请原谅任何拼写错误):
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 中不是。为什么??
建议多于答案:
尝试拆分链式调用:
val foo = rdd map f
val bar = foo groupBy g
获取 REPL 中 foo 的类型。
你要求它解决 map 的结果类型,它是一个 Map,连同 groupBy,它重载并带有隐式。
在不了解 API 的情况下,如果类型参数不可推断,我不会感到惊讶。
我是一个 scala 新手,很难理解应该是一行简单的代码。我执行 .groupBy 操作并关闭 "it",但编译器抱怨 "missing parameter type",我不知道如何修复它。这是确切的代码(它在不同的网络上,所以我必须重新输入 - 请原谅任何拼写错误):
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 中不是。为什么??
建议多于答案:
尝试拆分链式调用:
val foo = rdd map f
val bar = foo groupBy g
获取 REPL 中 foo 的类型。
你要求它解决 map 的结果类型,它是一个 Map,连同 groupBy,它重载并带有隐式。
在不了解 API 的情况下,如果类型参数不可推断,我不会感到惊讶。