当前位置:Gxlcms > 数据库问题 > 关于sqoop导入数据到hive数据库当中,表中数据为空倒入hive当中的处理

关于sqoop导入数据到hive数据库当中,表中数据为空倒入hive当中的处理

时间:2021-07-01 10:21:17 帮助过:5人阅读

* from loan_repayment_detail where trim(fact_return_date) is null
本来想着是不是因为前面有空格的原因,但是去掉了空格之后还是不可以。

技术分享图片

我直接插寻这个字段是有值的啊,也是为null,为啥就不可以啊。原来真正的问题的源头是从我们使用sqoop导入数据开始的。在sqoop导入数据的时候如果不对null做处理,他会将原来为null的值导入的时候

转化为null的字符串,不是真正意义上面的null值。所以当我们使用is null 的时候就匹配不到数据。这才是问题的关键:

然后我执行了一下下面这个语句就可以了:

技术分享图片

所以我们在通过sqoop导入数据的时候,需要加上

--null-string ‘\\N‘ 

--null-non-string ‘\\N‘ 

这个是因为在hive里面的,null值是用\N来表示的,所以需要将原理啊的null的字符串进行转换之后,才能匹配到真正意义上的null值,而不是字符串类型的null值。

至此问题得到了解决。

 

关于sqoop导入数据到hive数据库当中,表中数据为空倒入hive当中的处理

标签:date   div   字段   detail   技术   turn   问题   不可   back   

人气教程排行