用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 @   苏su  阅读(1333)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示