为什么hive count distinct在我的测试中比count group by快,实际上有什么区别

为什么hive count distinct在我的测试中比count group by快,实际上有什么区别,hive,hiveql,Hive,Hiveql,清点 选择国家/地区作为国家/地区, 白天 作为世博会的国家, 将imei列为世博会用户 从…起 选择cm、应用程序版本代码、事件id、imei、日期 来自exostsdk 其中日期>='2019-12-01' 日期='2019-12-01' 然后比较两个查询计划,您就会知道。此外,在计数中使用不同的列,数据大小可能不同,复制中间结果所需的时间也不同。@leftjoin我想我实际上计数的是相同的内容。我看过解释计划,看起来by小组的mr任务比distinct多了一个,输入数据的大小约为400亿。

清点

选择国家/地区作为国家/地区, 白天 作为世博会的国家, 将imei列为世博会用户 从…起 选择cm、应用程序版本代码、事件id、imei、日期 来自exostsdk 其中日期>='2019-12-01' 日期='2019-12-01'
然后比较两个查询计划,您就会知道。此外,在计数中使用不同的列,数据大小可能不同,复制中间结果所需的时间也不同。@leftjoin我想我实际上计数的是相同的内容。我看过解释计划,看起来by小组的mr任务比distinct多了一个,输入数据的大小约为400亿。也许distinct更快的原因是额外的任务需要更长的时间?是的,第二个查询在子查询b中包含额外的聚合步骤