文章目录
一、建表注意事项
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语句:
可以确保类似