【发布时间】:2021-01-04 23:16:06
【问题描述】:
我有一个如下所示的 spark 数据框:
Id,timestamp,index,target
id1,2020-04-03,1,34
id1,2020-04-03,2,37
id1,2020-04-04,1,31
id1,2020-04-05,1,29
id2,2020-04-03,1,35
...
数据框在“Id”列上的集群中进行分区。
我想确保没有“Id”和“timestamp”值重复的行。
如果有重复条目,那么我想选择“索引”值较低的行。
(如果在“Id”、“timestamp”、“index”中存在具有相同条目的重复行;那么选择任何行都可以)
所以上面的去重后的dataframe应该是这样的:
Id,timestamp,index,target
id1,2020-04-03,1,34
id1,2020-04-04,1,31
id1,2020-04-05,1,29
id2,2020-04-03,1,35
...
请注意,第二行
由于数据帧已经在“Id”上进行了分区 - 我希望找到一种不需要跨分区通信的方法,从而使操作非常高效。
【问题讨论】:
标签: scala apache-spark apache-spark-sql