【问题标题】:Incorrect results for Hive CountHive Count 的结果不正确
【发布时间】:2019-08-20 19:44:36
【问题描述】:

与使用 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 子句的计数始终等于或低于完整计数。

【问题讨论】:

    标签: hive hortonworks-data-platform


    【解决方案1】:

    你应该使用:

     select count(*) FROM Table_MAS MAS;
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-11
      • 1970-01-01
      • 2014-06-19
      • 2019-09-21
      相关资源
      最近更新 更多