我正在尝试对跨分区可能有重复项的表进行重复数据消除。例如
id device_id os country unix_time app_id dt
2 2 3a UK 7 5 2019-12-22
1 2 3a USA 4 5 2019-12-22
1 2 3a USA 4 5 2019-12-23
1 2 3a USA 4 5 2019-12-24
可以看出,除了“dt”是分区列之外,该表还有类似的列值。我想对这样一个表进行重复数据消除,在这个表中,旧分区中的类似记录将被删除,而保留在最新分区中。例如,重复数据消除后,上表应与下表类似。
id device_id os country unix_time app_id dt
2 2 3a UK 7 5 2019-12-22
1 2 3a USA 4 5 2019-12-24
1条答案
按热度按时间gpnt7bae1#
使用
row_number
您可以过滤重复项:有些分区在重复数据消除后可能会消失,但如果要重写同一个表,插入覆盖将不会删除它们,因此,如果要将数据保存在同一个表中,那么最好像初始表那样创建表,在其中插入已消除重复的数据,然后删除初始表并重命名已消除重复的表。