【发布时间】:2017-10-16 02:34:28
【问题描述】:
Hive 是否支持 VIEW 语句中的多个 CTE?我知道 Hive 支持 CTE (HIVE-1180),但不确定它是否有任何限制 - 例如,在 VIEW 语句中支持多个 CTE:
CREATE OR REPLACE VIEW prdviews.temp
AS WITH set1 AS (SELECT 1 AS id FROM testdb.table1),
set2 AS (select 2 AS id FROM testdb.table2)
SELECT * FROM set1
UNION ALL
SELECT * FROM set2;
select * from prdviews.temp;
执行上述查询成功创建 Hive 视图。但是当我运行 SELECT 查询时,它会返回错误。还是我做错了?上述查询或任何类似查询返回类似于以下的错误:
Error while compiling statement: FAILED: SemanticException Line 3:24 Table not found 'set1' in definition of VIEW temp [ WITH set1 AS (SELECT 1 AS `id` FROM `testdb`.`table1`), set2 AS (select 2 AS `id` FROM `testdb`.`table2`) SELECT `set1`.`id` FROM set1 UNION ALL SELECT `set2`.`id` FROM set2 ] used as temp at Line 1:14
【问题讨论】:
-
问题出在
UNION ALL -
我也遇到了类似的问题,有人找到解决办法了吗?
标签: sql hadoop apache-spark hive