Apache spark groupBy的Java Spark替代方案

Apache spark groupBy的Java Spark替代方案,apache-spark,apache-spark-sql,apache-spark-dataset,Apache Spark,Apache Spark Sql,Apache Spark Dataset,我有一个包含第1列和第2列的数据集。如果“column1”值在数据集中出现多次,我想为记录分配新的列值“x”。我可以使用group by来实现这一点 dataset.groupBy("column1").count() 但是这个方法创建了一个GROUPBY数据集,然后我必须在GROUPBY数据集和原始数据集之间进行连接,以找到计数,如果计数大于1,则将新值指定为“X”。在不创建新数据集的情况下是否可以获得相同的结果?您可以使用窗口函数添加计数列: dataset.withC

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

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

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

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

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