栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Hive中group by自动排序

Hive中group by自动排序

为了增加每天的工作量,现在开辟了一个新的模块。叫做每天一个无用的小常识。

        为什么是无用的?其实并不是无用,就像手工耿做的那些东西,看着没用把,但是每一个都是耗费很多功夫的,就像那个倒立洗衣机,脑瓜蹦什么的,虽然挺无用的,但是确实是一种新意,不仅有了粉丝,还有了后面更多的作品,比如上次看到的那个好像是钢琴烧烤车。那个作品就挺厉害。

今天分享小知识:

group by会进行排序吗?

结果:会

分析:

        我们这个sql语句,根据名字分组求ftime的总合。其实这个代码就是前两篇博客里面用到的那个group by别名报错的那个数据。

        explain可以让我们预知hive sql转换为mr算子的过程,有Map 和 reduce两个过程。同时explain里面的信息不仅仅是语句执行的情况,还有输入和输出之类的等等。

        关于上面的问题,为什么group by后我们不用sort by或者order by都会进行排序,下面来看看整个执行的信息。

        

第二个图片中,我们可以看到sort order:+

表示进行排序,并且按照升序排序。

因为按照升序排列,所以最后的输出结果应该是string小的在最前面(比较的是A和B)

为什么不比较sum(ftime)? 我们可以看到 key expressions:_col0(type:string)

比较的是字符串类型,而sum()是int 类型。

总结:

group by会自动根据我们分组的字段进行排序,并且默认是升序排列。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/689691.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号