NULL数据转换为' \ N'对于hive中的数字列。?

时间:2017-04-22 06:44:49

标签: hive hiveql

我创建了一个hive表,其中包含双列和字符串列等数字列。我的文件包含数字和字符串列的一些NULL值。当我尝试将文件加载到此表中时,数字列的NULL值将替换为' \ N'在file.I知道这是hive属性,处理数值类型列的空值,但我想阻止它或有任何方式,我可以将NULL更改为其他东西,而不是' \ N'。

1 个答案:

答案 0 :(得分:12)

默认NULL值在数据文件中写为\N,数据文件中的\N在查询数据时被解释为NULL
可以使用TBLPROPERTIES('serialization.null.format'=...)

覆盖此内容

E.g。
TBLPROPERTIES('serialization.null.format'='')表示以下内容:

  • 查询表
  • 时,数据文件中的空字段将被视为NULL
  • 向表中插入行时,NULL值将作为空字段写入数据文件

此属性可以声明为表创建的一部分

create table mytable (...)
tblproperties('serialization.null.format'='')
;

可以稍后更改

alter table mytable set tblproperties('serialization.null.format'='')
;