【问题标题】:Java Spark alternative for groupBygroupBy 的 Java Spark 替代方案
【发布时间】:2020-12-23 04:09:31
【问题描述】:

我有一个包含 column1 和 column2 的数据集。如果“column1”值在数据集中多次出现,我想为记录分配新的列值“x”。我可以使用 group by 来实现这一点。

dataset.groupBy("column1").count()

但是这种方法创建了一个按数据集分组,然后我必须在按数据集分组和原始数据集之间进行连接以找到计数并在计数大于 1 时将新值分配为“X”。是否可以在不创建新数据集的情况下获得相同的结果?

【问题讨论】:

    标签: apache-spark apache-spark-sql apache-spark-dataset


    【解决方案1】:

    您可以使用窗口函数添加计数列:

    dataset.withColumn("count_column2", count("column2").over(Window.partitionBy("column1")))
    

    【讨论】:

      猜你喜欢
      • 2018-11-14
      • 1970-01-01
      • 2015-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多