我目前正在使用Hive进行一些数据探索,无法解释以下行为。说我有一个带有字段master_id的表(名为mytable)。当我计算行数时,我得到select count(*) as c from mytable c1129563如果我要计算具有非null master_id的行数,则会得到一个更高的数字select count(*) as c from mytable where master_id is not nullc1134041此外,master_id似乎永远不会为空。select count(*) as c from mytable where master_id is nullc0我无法解释添加where语句最终如何增加行数。有人有任何暗示来解释这种行为吗?谢谢
1 回答
阿波罗的战车
TA贡献1862条经验 获得超6个赞
由于设置了此参数,很可能您的查询没有在哪里使用统计信息:
set hive.compute.query.using.stats=true;
尝试将其设置为false并再次执行。
或者,您可以在表上计算统计信息。请参阅分析表语法
也可以在INSERT OVERWRITE期间自动收集统计信息:
set hive.stats.autogather=true;
- 1 回答
- 0 关注
- 428 浏览
添加回答
举报
0/150
提交
取消