Impala--查询优化COMPUTE STATS指令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Impala--查询优化COMPUTE STATS指令相关的知识,希望对你有一定的参考价值。

参考技术A

impala在查询一些大表的时候,查询特别慢

按SQL调优的套路来,explain一下发现了一个很隐蔽的warning:

Cool!10倍的提升,相对Hive20倍的提升,和单表查询一样的迅速!

「COMPUTE STATS」前
指令:

返回:

指令:

返回:

「COMPUTE STATS」后
指令:

返回:

指令:

返回:

看来「COMPUTE STATS」的作用就是得出Impala原先不知道的值(-1)。

hive中有数据 select count(*)显示为0的问题

参考技术A 检查表的时候
sql语句:

显示为

但是执行
sql语句:

显示为

后面加上限制1条可以正常查询。

执行下语句后,正常查询可以正常显示。

以上设置原理为

这是hive中的一个优化参数导致的,对于一些使用频率可能很高的sql会进行查询优化,会将这个参数[hive.compute.query.using.stats]设置为true(默认是false),这样的话,Hive在执行某些查询时,例如select count(1),只利用元数据存储中保存的状态信息返回结果,从而提高了响应速度

以上是关于Impala--查询优化COMPUTE STATS指令的主要内容,如果未能解决你的问题,请参考以下文章

IMPALA常用命令COMPUTE STATS简述

为啥我不应该在 Impala 中的“COMPUTE STATS”和“COMPUTE INCREMENTAL STATS”之间切换?

Impala 在网易大数据的优化和实践

Impala 介绍及部署优化

如何优化 Impala 查询以将 LIKE 与 IN 结合(字面意思或有效)?

Impala性能优化总结