自学内容网 自学内容网

Hive-distribute by与group by,order by与sort by 的区别,cluster by

两个是完全不同的东西,group by的后续需要我们对数据进行聚合,distribute by只是把数据分到不同的reducer中去。

distribute by与group by 的区别

都是按key值划分数据 都使用reduce操作
唯一不同的是,distribute by只是单纯的分散数据,distribute by col – 按照col列把数据分散到不同的reduce。而group by把相同key的数据聚集到一起,后续必须是聚合操作。

order by与sort by 的区别

order by是全局排序 sort by只是确保每个reduce上面输出的数据有序。如果只有一个reduce时,和order by作用一样。

cluster by
把有相同值的数据聚集到一起,并排序,效果等价于distribute by col sort by col.

即 cluster by col <==> distribute by col sort by col

转载链接


原文地址:https://blog.csdn.net/ALX3li/article/details/137606529

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!