NaN数据处理

问题描述/异常栈

部分用户写入的数据与表schema不匹配,例如表字段类型为double,实际写入为map,或json格式,或者null

解决方案

增加筛选条件,查询时过滤nullNaN
WHERE 字段 IS NOT NULL AND 字段 != 'NaN'

问题原因 FAQ-NaN数据处理 - 图1

hive spark impala三个引擎查询结果均为上图所述
NaN“不是一个数字”(Not a Number)。这是一个特殊的浮点值,用于表示某些情况下的未定义或不可表示的数值结果。例如,某些数学运算可能会产生NaN,例如零除以零或取平方根负数。
后续处理相关数据可以尝试过滤解决。

作者:chenjie