Flink中不支持嵌套的
我有一个HashMaps的Dataset
,并且我对其中一个键执行了groupBy
。现在,我想在已经分组的DataSet
(即嵌套或链式的groupBy
)上再执行一个(或多个)groupBy
例如,我想要这样的东西:
data.groupBy(_("a")).groupBy(_("b")).reducegroup {....}
我怎样才能做到这一点?
groupBy
。然而,您可以在复合密钥上分组
val data: (Int, Int, Long) = ???
val res = data.groupBy(0, 1).reduce(...)
在您的示例中,您使用的是无法在组合键中使用的KeySelector。相反,您可以定义一个KeySelector,它将两个键都返回为Tuple2
。
data.groupBy(d => (d("a"), d("b")) ).reduce(...)