Impala--查询优化COMPUTE STATS指令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Impala--查询优化COMPUTE STATS指令相关的知识,希望对你有一定的参考价值。
参考技术Aimpala在查询一些大表的时候,查询特别慢
按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”和“COMPUTE INCREMENTAL STATS”之间切换?