hive 去重 为什么不用group 不用
时间: 2023-07-06 12:28:45 浏览: 121
HiveSQL解析原理.docx
在 Hive 中,使用 GROUP BY 关键字进行分组,可以将相同的键值(Key)的记录放在一起,并对每组记录进行聚合操作。但是 GROUP BY 并不能去重,因为它只是对相同的键值进行聚合,并不会删除重复的记录。
如果想要去重,可以使用 DISTINCT 关键字,该关键字会对整个记录进行去重,只保留不同的记录,而不是对相同的键值进行聚合操作。因此,DISTINCT 更适合于对整个记录进行去重操作。
此外,GROUP BY 在进行聚合操作时需要对数据进行分组,可能会产生大量的中间结果,需要进行 Shuffle 操作,消耗大量的时间和资源。而 DISTINCT 只需要对整个记录进行去重,不需要进行分组和聚合操作,相对而言更加高效。因此,在需要去重的情况下,使用 DISTINCT 更为合适。
阅读全文