distinct数据去重
使用distinct:返回当前DataFrame中不重复的Row记录。该方法和接下来的dropDuplicates()方法不传入指定字段时的结果相同。
dropDuplicates:根据指定字段去重
跟distinct方法不同的是,此方法可以根据指定字段去重。例如我们想要去掉相同用户通过相同渠道下单的数据:
df.dropDuplicates("user","type").show()
输出:
+---+----+----+--------------------+
| id|user|type| visittime|
+---+----+----+--------------------+
| 8| 3|APP2|2017-08-03 13:44:...|
| 1| 1| 助手1|2017-08-10 13:44:...|
| 7| 3| 助手2|2017-08-14 13:44:...|
| 12| 1| 助手2|2017-07-07 13:45:...|
| 3| 2| 助手1|2017-08-05 13:44:...|
| 5| 3|APP1|2017-08-02 13:44:...|
| 9| 2|APP2|2017-08-11 13:44:...|
| 2| 1|APP1|2017-08-04 13:44:...|
+---+----+----+--------------------+
这篇博客介绍了DataFrame在Spark中进行数据去重的方法。主要讨论了`distinct`和`dropDuplicates`两个函数的用法。`distinct`方法用于返回DataFrame中所有不重复的记录,而`dropDuplicates`则允许指定特定字段进行去重,如示例所示,可以基于'user'和'type'字段去除重复数据。这对于处理重复记录和确保数据质量非常有用。
1191

被折叠的 条评论
为什么被折叠?



