0

假设一个表包含 3 列,我呈现如下查询:

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

在这种情况下,空值没有得到正确反映。我在 UNION 操作中遇到错误,说明“运行时 NULL 异常”。请帮忙

4

2 回答 2

0

您使用的是什么发行版/版本的 Hadoop。我在 IDH 上试过这个,效果很好。您还可以粘贴完整的错误消息吗

蜂巢(默认)>描述表4;

好的

fld1 字符串

fld2 字符串

hive (default)> select fld1, fld2, null as fld3 from table4;

一个 1 空

B 1 空

C 1 空

根据提问者的评论在下面添加,

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

创建表 table6 作为 select fld1, fld2, cast(null as string) fld3 from table4;

蜂巢(默认)>描述表6;好的

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

于 2013-09-16T08:01:27.007 回答
0

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

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

UNION ALL

select col1, col2 from table2LIMIT 10) q1
于 2014-09-26T13:35:22.253 回答