假设一个表包含 3 列,我呈现如下查询:
SELECT col1, col2, col3, null as col4 from table;
在这种情况下,空值没有得到正确反映。我在 UNION 操作中遇到错误,说明“运行时 NULL 异常”。请帮忙
您使用的是什么发行版/版本的 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 字符串
我在一些示例表上尝试了这个,它对我有用,没有任何错误。示例查询:
select * from
(select col1, NULL as col2 from table1 LIMIT 10
UNION ALL
select col1, col2 from table2LIMIT 10) q1