我创建了一个hive表,其中包含双列和字符串列等数字列。我的文件包含数字和字符串列的一些NULL值。当我尝试将文件加载到此表中时,数字列的NULL值将替换为' \ N'在file.I知道这是hive属性,处理数值类型列的空值,但我想阻止它或有任何方式,我可以将NULL更改为其他东西,而不是' \ N'。
答案 0 :(得分:12)
默认NULL
值在数据文件中写为\N
,数据文件中的\N
在查询数据时被解释为NULL
。
可以使用TBLPROPERTIES('serialization.null.format'=...)
E.g。
TBLPROPERTIES('serialization.null.format'='')
表示以下内容:
此属性可以声明为表创建的一部分
create table mytable (...)
tblproperties('serialization.null.format'='')
;
可以稍后更改
alter table mytable set tblproperties('serialization.null.format'='')
;