Hive中的Union查询已经使用过多次,但在使用之前都没有系统的学习过Union的语法格式(虽然在使用过程中没有出现过问题),所以现在将这一点补上。Union的语法格式如下:
select_statement UNION ALL select_statement UNION ALL select_statement ...
Union用于将多个SELECT语句的查询结果合并到一个结果集中,目前Hive只支持UNION ALL,也就是结果集中的重复记录不会被删除。SELECT语句返回列的数目和名称必须相同,否则会报schema错误。Union语句还可以嵌套在FROM子句中:
SELECT *
FROM (
select_statement
UNION ALL
select_statement
) unionResult
在Hive-0.12.0及之前的版本中,Union只能在子查询中使用,在Hive-0.13.0版本中,去除了该限制,Union查询可以作为独立的查询使用(在实际使用过程中,以多次使用该方式)。
看过了Union后,现在来看看子查询。在Hive-0.12.0及之前的版本中子查询只能出现在FROM子句中