我是靠谱客的博主 幸福摩托,这篇文章主要介绍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内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部