【问题标题】:How to count NaN items in Impala query?如何计算 Impala 查询中的 NaN 项?
【发布时间】:2019-11-07 17:11:46
【问题描述】:

我有一个表,在一个双字段中包含“NaN”。我只是想计算有多少项目是“NaN”:

Select count(*) from table
where col = 'NaN'

AnalysisException:DOUBLE 和 STRING 类型的操作数不可比较:col = 'NaN'

Select count(*) from table
where col is null

Result = 0(顺便说一句,此列中有大量 NaN 记录)

Select count(*) from table
where cast(col as string) = 'NaN'

结果 = 0

如何在实际计算 NaN 行的情况下执行此操作?

【问题讨论】:

    标签: hdfs nan cloudera impala


    【解决方案1】:

    我会将 NaNs 转换为字符串,然后与 'nan'

    进行比较
    Select count(*) from table
    where cast(col as string) = 'nan'
    

    【讨论】:

    • 我使用的是“NaN”,这就是它在数据中的显示方式,但是当转换为字符串时,它都是小写的。那是我的问题。谢谢。
    【解决方案2】:

    你可以使用 is_nan 函数

    select count(*) from table
    where is_nan(col)
    

    【讨论】:

      猜你喜欢
      • 2017-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-06
      • 2011-09-07
      • 2020-12-21
      • 2015-10-09
      • 2016-04-04
      相关资源
      最近更新 更多