配置单元将字符串列中的空字符串转换为空字符串

gxwragnw  于 2021-06-25  发布在  Hive
关注(0)|答案(2)|浏览(430)

配置单元将字符串列中的空字符串转换为空字符串。原因是什么?
根据我们的要求,我们需要在string列中看到null,而不是空字符串,否则对于那些列来说null不起作用。为了解决这个问题,我们在表中设置了以下属性:

TBLPROPERTIES('serialization.null.format'='')

但我们仍然看到空字符串而不是 NULL 甚至 SHOW TBLPROPERTIES 结果中也没有显示这个属性,所以我不确定是否设置了这个属性。
我试图在ddl本身中设置这个属性,甚至我也尝试了

Alter Table <TableName> Set TBLPROPERTIES ('serialization.null.format' = '');
7cjasjjr

7cjasjjr1#

如何移动数据?如果您使用的是sqoop,那么您可以尝试传递以下参数

--input-null-string '\\N' 
    --input-null-non-string '\\N'
d4so4syb

d4so4syb2#

如果需要,创建另一个表,并将此表的值存储到该格式的表中。我提到-1作为例子,你可以使用任何你选择的东西。
在选择查询中

select
case when <col> is null then -1 else <col> end as <col>
from
table

相关问题