大数据——Hive SQL优化

Posted 长不大的大灰狼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据——Hive SQL优化相关的知识,希望对你有一定的参考价值。

大数据——Hive SQL优化

一、SELECT 字段尽可能少,数据过滤尽可能提前

二、能不用JOIN连接的就不用

三、数据倾斜问题

1、JOIN 优化
选用join key分布最均匀的表作为驱动表,并且大表放在右边,小表放在左边。

2、排序优化
sort by代替 order by.

3、少用count(distinct)
用group by代替 count(distinct)

select count(*) from (select uid from testmac group by uid) t

四、多表join时key保持一致

当对多个表进行join连接时,如果每个on子句都使用相同的连接键的话,那么只会产生一个MapReduce job,执行效率相对快。

五、去除空值和无意义的值

出现空值或无意义值时,如null,空字符串、-1等,在做join时这些空值就会非常集中,拖累进度。因此,若不需要空值数据,就提前写where语句过滤掉。若需要保留,将空值null的记录随机改为负值:

以上是关于大数据——Hive SQL优化的主要内容,如果未能解决你的问题,请参考以下文章

大数据——Hive SQL优化

hive sql 优化

Hive数仓-数据倾斜优化

hive sql 优化

大数据那些事:HIVE之初期起

Hive企业级性能优化