在Hive中,DISTINCT和GROUP BY都是用于对数据进行聚合操作的关键词,但是它们的作用不同。 DISTINCT:用于去重,返回数据集中少数的值,不进行任何聚合操作,它适用于查询中只需要查看不同值而不是汇总数据的情况。例如,查找所有销售过的产品种类,但只需要每种产品出现一次。 GROUP BY:用于聚合数据,将数据按照指...
从执行计划的区别可以看出Group by的写法会启动两个MR Job、distinct只会启动一个。所以要确保数据量大到启动job的延迟远小于计算耗时,才考虑这种方法。当数据量很小或者key的倾斜比较明显时,group by可能比distinct慢 手机看全文 扫码安装简书客户端 畅享全文阅读体验 扫码后在手机中选择通过第三方浏览器下载...
先说结论:能使用group by代替distinc就不要使用distinct,例子:
在Hive中,DISTINCT和GROUP BY都是用于对数据进行聚合操作的关键词,但是它们的作用不同。 DISTINCT:用于去重,返回数据集中少数的值,不进行任何聚合操作,它适用于查询中只需要查看不同值而不是汇总数据的情况。例如,查找所有销售过的产品种类,但只需要每种产品出现一次。 GROUP BY:用于聚合数据,将数据按照指定的列进行...