码迷,mamicode.com
首页 > 其他好文 > 详细

hive grouping sets 实现原理

时间:2018-09-24 13:48:27      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:复制   理解   实现   img   .com   函数   字段   实现原理   png   

先下结论:

看了hive 1.1.0 grouping sets 实现(从源码及执行计划都可以看出与kylin实现不一样),(前提是可累加,如sum函数)他并没有像kylin一样先按照group by 全字段聚合再上卷,hive实现就是无脑复制,可以理解成是 group by grouping sets 所有组合 然后 在union 起来(grouping sets会比后者少扫描grouping sets组合份原始数据,tez和sparksql grouping sets之所以快可能是跟kylin实现差不多,先汇总再上卷来减少数据无脑复制成本,这个spark实现有空可以看看)


从执行计划就可以看出 hive grouping sets 实现相当于就一个stage,是做不到先聚合再上卷的。其实就是把原始数据复制grouping sets 组合份

技术分享图片

hive grouping sets 实现原理

标签:复制   理解   实现   img   .com   函数   字段   实现原理   png   

原文地址:https://www.cnblogs.com/jiangxiaoxian/p/9695291.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!