用over进行开窗 distribute by sort by和partition by order by 用于去重哪个效率比较高?

1.用over开窗时,distribute by sort by换成partition by order by,分区表、分桶表、非分区表的执行计划都一样,1.10版本都是一样的--测试后时间上基本无差别
2.对分桶表进行测试,如果分桶的字段和distribute by sort by或者partition by order by是同一字段的话,分桶表的性能比较非分桶表好:这个比较好理解,本来分桶后数据就是局部有序的
3.单独使用order只产生一个reducer(全局排序),sort(局部排序)产生多个reducer;
4.distribute by col – 按照col列把数据分散到不同的reduce,
group by把相同key的数据聚集到一起,后续必须是聚合操作,partition by 是分区
5.distribute by sort by 等同于cluster by ;

posted @ 2021-08-03 15:43  苏su  阅读(1200)  评论(0编辑  收藏  举报