一、问题
当设置hive.compute.query.using.stats=true时,hive在执行某些查询时,例如select count(),只利用元数据存储中保存的状态信息返回结果,从而提高了响应速度。这是一个CBO(基于成本的优化)的设置。
二、解决办法
1、手动更新表统计数据
analyze table 表名 compute statistics;
2、select count(*) from xx limit 1;
3、set hive.compute.query.using.stats=false;