如何为Hive表定义默认的NULL值

时间:2013-09-16 06:06:34

标签: hadoop hive

假设一个表包含3列,我会像这样呈现一个查询:

SELECT col1, col2, col3, null as col4 from table;

在这种情况下,空值不能正确反映。我在UNION操作中收到错误“Runtime NULL exception”。请帮助解决这个问题

2 个答案:

答案 0 :(得分:0)

您使用此Hadoop的分发版本。我在IDH上尝试了这个,它运行良好。您还可以粘贴完整的错误消息

hive(默认)>描述table4;

fld1 string

fld2 string

hive(默认)>从表4中选择fld1,fld2,null作为fld3;

A 1 NULL

B 1 NULL

C 1 NULL

根据提问者的评论添加以下内容,

我试过这个演员,它现在描述为字符串。你可以根据自己的需要进行投射

从表4中选择fld1,fld2,cast(null as string)fld3创建表table6;

hive(默认)>描述表6; 行

fld1字符串 fld2字符串 fld3字符串

答案 1 :(得分:0)

我在一些示例表上尝试了这个,它对我没有任何错误。示例查询:

select * from
(select col1, NULL as col2 from table1 LIMIT 10

UNION ALL

select col1, col2 from table2LIMIT 10) q1