处理配置单元上的空值

时间:2013-08-08 15:23:47

标签: hadoop hive

我在hive中有一个类型为double的列,但是当我这样做时,有些行是NULL:

select columnA from table;

现在,如果我运行以下命令,则两个查询都得到0:

select count(*) from table where columnA = "NULL";
select count(*) from table where columnA = NULL;

如何计算表中的行为NULL?

2 个答案:

答案 0 :(得分:6)

正确的查询是:

select count(*) from table where columnA is null;

答案 1 :(得分:5)

在Hive中,count(*)计算所有行和count(columnA)将仅计算columnA为非NULL的行。如果您想要执行多个列,可以将查询编写为:

select count(*)-count(columnA), count(*)-count(columnB) from table;

并获取每列中的空值数。 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF