我用java代码tableHiveCell和tableHiveWiFi创建了两个表。
当我尝试运行以下sql命令时:
select count(UEs.cnc) as 'Active UEs'
^
from
(select distinct cnc from tableHiveCell wifi
union
select distinct cnc from tableHiveCell cell)
as UEs;我收到一个错误:
java.sql.SQLException:
Query returned non-zero code: 11,
cause: FAILED: Parse Error: line 1:22 mismatched input 'as' expecting FROM near ')' in from clause
at org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:189).我错过了什么吗?
编辑1
我试过:
select count(UEs.cnc) as 'Active UEs'
^
from
(select distinct cnc from tableHiveCell wifi)
union
(select distinct cnc from tableHiveCell cell)
as UEs;相同误差
编辑2
我试过:
select count(UEs.cnc) as Active_UEs
from (select distinct cnc from tableHiveCell wifi
union ALL
select distinct cnc from tableHiveCell cell) as UEs;
^ 获得相同的错误,但最后一个as
line 1:142 mismatched input 'as' expecting Identifier near ')' in subquery source发布于 2013-08-13 10:38:40
按照应答表单中的请求: Hadoop似乎在子查询上通过AS关键字使用别名时遇到了问题,您可以轻松地分配别名而不使用AS关键字。
在这里可以找到示例:https://www.inkling.com/read/hadoop-definitive-guide-tom-white-3rd/chapter-12/querying-data
并为未来的访问者引用(子查询参见mt别名):
SELECT station, year, AVG(max_temperature)
FROM (
SELECT station, year, MAX(temperature) AS max_temperature
FROM records2
WHERE temperature != 9999
AND (quality = 0 OR quality = 1 OR quality = 4 OR quality = 5 OR quality = 9)
GROUP BY station, year
) mt
GROUP BY station, year;https://stackoverflow.com/questions/18204232
复制相似问题