sal*_*nbw 4 scala duplicates apache-spark apache-spark-sql spark-dataframe
我有一个包含多列的spark数据帧.我想找出并删除列中具有重复值的行(其他列可以不同).
我尝试使用dropDuplicates(col_name)但它只会删除重复的条目,但仍然在数据帧中保留一条记录.我需要的是删除最初包含重复条目的所有条目.
我使用的是Spark 1.6和Scala 2.10.
我会使用窗口函数.假设您要删除重复的id行:
import org.apache.spark.sql.expressions.Window
df
.withColumn("cnt", count("*").over(Window.partitionBy($"id")))
.where($"cnt"===1).drop($"cnt")
.show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7170 次 |
| 最近记录: |