蜂巢计数结果不正确

时间:2019-08-20 19:44:36

标签: hive hortonworks-data-platform

与使用where子句相比,对表进行全部计数时,我得到的计数不正确。结果如下:

SELECT count(1) FROM Table_MAS MAS;
OK
11317322

hive> SELECT count(1) FROM Table_MAS where Col_A IS NOT NULL and Col_B is NOT NULL;
OK
552589106

我已经进行了表格分析和维修。看起来好像有什么问题。

想看看是否有人遇到过类似的情况,如果是这样,您如何纠正呢?

我已经进行了表格分析和维修。

很明显,我希望where子句的计数始终等于或小于完整计数。

1 个答案:

答案 0 :(得分:1)

您应该使用:

 select count(*) FROM Table_MAS MAS;

COUNT(*)将计算行数,而COUNT(1)将计算表达式中的非空值,而COUNT(column)将计算列中的所有非空值。