首页 > 编程知识 正文

hive全局排序优化,存储过程优化思路

时间:2023-05-04 15:39:03 阅读:22921 作者:1041

本文的目的是从正文开始,养成写博文的习惯,一点点沉淀知识,让自己回头时方便,为别人提供更好的东西。 同时整理一些问题。

hive优化1、2表join,条件写在的on后和写在where后有什么不同? 1. left join列出左表中的数据,无论打开后有什么条件。 右表中不相关的将为空。 因此,要过滤污染的数据,必须将条件放在where之后的2. inner join中,并找到满足打开后条件的表中的数据,才能起到过滤作用。 也可以将条件置于where之后。 2、distinct和group by有什么区别? 在什么情况下使用group by可以提高性能? distinct通过在一个reduce中放置去除字段,在数据量大的情况下根据效率低下的group by,在shuffle的情况下根据group by后面的字段进行分组,发布到多个reduce来提高效率大数据量多时使用distinct(3、group by而不是group by的set hive.map.aggr=true (打开map端组合器) ),重复数据少时需要低的set hive. //打开负载平衡。 只针对单个字段进行聚合,控制两个MR的生成,第一个MR的Map输出结果随机分配给Reduce进行部分聚合操作,同一key分配给不同的Reduce,可以达到均衡作用; 第二个MR根据预处理的数据按照group by key分布到一个reduce中,最终完成聚合操作。 4、小表与brdjm的关联1、小表写在前2、set hive.auto.convert.join=true; //将小时钟写入存储器

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。