Hive 从配置单元表中删除NULL
我有一个表,其中某些列中有“NULL”值,我的下游程序不接受NULL值,我可以编写一个switch case语句,用一个空的“”替换NULL,但我正在寻找一种更有效的方法,比如更改表属性以显示blank而不是NULL 您可以使用此查询将基础数据中的“NULL”解释为空字符串Hive 从配置单元表中删除NULL,hive,hiveql,Hive,Hiveql,我有一个表,其中某些列中有“NULL”值,我的下游程序不接受NULL值,我可以编写一个switch case语句,用一个空的“”替换NULL,但我正在寻找一种更有效的方法,比如更改表属性以显示blank而不是NULL 您可以使用此查询将基础数据中的“NULL”解释为空字符串 SELECT TRANSLATE(column1,'NULL','') FROM MyTable; 插图: -- This is the Hive table > desc hive_tbl; col_name
SELECT TRANSLATE(column1,'NULL','') FROM MyTable;
插图:
-- This is the Hive table
> desc hive_tbl;
col_name data_type
h1 string
h2 string
h3 string
h4 string
-- This is the query that interprets h2 having 'NULL' as another character.
-- In this case, 'X' is used instead of '' so that it prints in the display.
> SELECT h1, h2, h3, h4, TRANSLATE(h2,'NULL','X') h2_updated FROM hive_tbl;
h1 h2 h3 h4 h2_updated
1 foo 100 entry-foo foo
2 NULL 200 The data is absent for second column NULL
3 NULL 300 The value in second column is the string NULL X
您可以让配置单元将null表示为空字符串。它的工作原理取决于表的定义。我该如何做?我尝试了alter table tab_name set tblproperties('serialization.null.format'=FALSE)
tblproperties('serialization.null.format'='')
这是一个空字符串。