我是靠谱客的博主 幸福摩托,最近开发中收集的这篇文章主要介绍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会自动根据我们分组的字段进行排序,并且默认是升序排列。

最后

以上就是幸福摩托为你收集整理的Hive中group by自动排序的全部内容,希望文章能够帮你解决Hive中group by自动排序所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部