Advertisement

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)

还没有任何评论哟~