0

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

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

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

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

4

1 回答 1

3

在类路径中使用 Spark 2.0.2 依赖项测试您的代码,我看到该groupBy方法需要 aString或 a Column

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

val counts = dataset.flatMap(_.intLists).groupByKey(identity).count
于 2016-12-09T09:18:12.363 回答