Hadoop 为什么配置单元嵌套查询语句需要别名?
我正在学习Hortonworks开发者认证,实践考试中的一个练习要求从几个嵌套查询创建一个表 我不清楚为什么下面的语句会出现错误:Hadoop 为什么配置单元嵌套查询语句需要别名?,hadoop,hive,hiveql,Hadoop,Hive,Hiveql,我正在学习Hortonworks开发者认证,实践考试中的一个练习要求从几个嵌套查询创建一个表 我不清楚为什么下面的语句会出现错误: SELECT * FROM (nested queries); 虽然这一声明如预期的那样有效: SELECT a.* FROM (nested queries) AS a; from子句中的表应该有一个名称,因此,在from子句中嵌套的查询(不带别名)将抛出错误 请阅读详细说明。据我所知,配置单元解释器反向解码查询字符串,即先执行最后一条语句,依此类推,因此为了
SELECT * FROM (nested queries);
虽然这一声明如预期的那样有效:
SELECT a.* FROM (nested queries) AS a;
from子句中的表应该有一个名称,因此,在from子句中嵌套的查询(不带别名)将抛出错误
请阅读详细说明。据我所知,配置单元解释器反向解码查询字符串,即先执行最后一条语句,依此类推,因此为了分析查询的执行情况,它需要一个名称。如果运行explain query命令,您可以查看查询计划是如何发生的,以获得更多信息。必须指定一个名称,因为FROM子句中的每个表都必须有一个名称。