文章目录
一、建表注意事项
1、分区、分桶
一般按照业务日期进行分区,每天的数据放在一个分区里,这样可以查询每一天的数据,避免了全局扫描,提高效率
2、一般使用外部表,避免数据误删
3、选择适当的文件储存格式及压缩格式
常用的格式有:①TextFile 默认的存储格式
②ORCFile:列式文件存储格式,具有很强的压缩
4、命名要规范
5、数据分层,表分离,但是不要分的太散
二、查询优化
1、分区裁剪 where过滤,先过滤,后join
2、分区分桶,合并小文件
3、适当的子查询
mapjoin(1.2以后自动默认启动mapjoin)
select /+mapjoin(b)/ a.xx,b.xxx from a left outer join b on a.id=b.id
左连的时候,大表在左边,小表在右边。
4、排序方式
order by 语句: 是全局排序
sort by 语句: 是单reduce排序
distribute by语句: 是分区字段;
cluster by语句:
可以确保类似

本文介绍了Hive的优化技巧,包括建表注意事项、查询优化策略、数据倾斜优化和作业优化。建表时强调分区、分桶,选择合适的存储格式和压缩,以及规范命名。查询优化涉及分区裁剪、分区分桶、子查询和排序方式。针对数据倾斜问题,分析了原因和表现,并提出了解决方案,如业务优化、数据过滤和key分布调整。作业优化则关注mapper和reducer数量的调整及参数配置。
最低0.47元/天 解锁文章
1057

被折叠的 条评论
为什么被折叠?



