Hive如何解决‘not in’操作后返回空数据的问题?
发布时间
阅读量:
阅读量
【问题描述】
在应用not in条件后,查询操作所获取的数据结果呈现为空状态。
举例:
select *
from ht_insurance_data
where c_insurance_record_description not in ('基数补缴','滞纳金补收','补收利息(复利)','补收记录','欠款补缴','差额调整','个人缴利息'
,'单位缴利息','差额调整','缴费基数调整补收','差额补收记录','缴费工资调整','统一缴费基数补差','退收记录','补收(核入月结算)','工龄补缴','欠缴补收')
我们的目标是去除一些不符合要求的描述,然而在实际操作过程中,却发现查询结果为空,尽管实际上存在一些描述并不属于需要删除的范畴。
【原因分析】
若对c_insurance_record_description这一字段进行观察,可以发现其中存在空值(null),这很可能是引发问题的关键所在。在Hive系统中,null所代表的含义为“未知”,这种状态无法与我们所列举的各类描述信息进行有效比对,进而造成相关问题的发生。
【解决办法】
在非空条件约束下应用not in操作
select *
全部评论 (0)
还没有任何评论哟~
