用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 ;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM