dataset flatmap group缺少参数类型

时间:2016-12-09 08:50:02

标签: scala apache-spark apache-spark-dataset

我有一个包含数字列表的列的数据集。

我想计算所有这些列表中每个数字的出现次数。所以我做一个flatMap,得到一组所有的整数。我想对它进行分组,这样我只需要每个数字一次,然后添加出现次数(在第二列或其他内容中)。 到目前为止我的代码:

val counts = dataset.flatMap(_.intLists).groupBy(i => identity(i)).count

但它总是说,“我”缺少参数类型。我想我需要告诉它它是一个Int,但我该怎么做?或者我错过了一些完全不同的东西?

1 个答案:

答案 0 :(得分:3)

在类路径中使用Spark 2.0.2依赖项测试代码,我发现groupBy方法需要StringColumn

您可能希望使用带有函数的groupByKey方法来提取分组键(在您的示例中为identity)。

val counts = dataset.flatMap(_.intLists).groupByKey(identity).count