如何解决Hive创建表时出现的‘Invalid table alias or column name’错误
Hive表创建语句修复方案
你的代码存在两处语法错误,导致了别名/列名无效的报错:
- DROP语句语法错误:Hive中判断表是否存在的正确关键词是
exists,你写的exist少了末尾的s。 - 子查询冗余关键字:Hive查询表时不需要在表名前加
table关键字,子查询里的from table z属于错误语法,直接使用表名加别名即可(如果你的表名确实是table,需要用反引号`包裹,避免和关键字冲突)。
修正后的完整代码如下:
drop table if exists data_pull_0526; create table data_pull_0526 as select distinct y.a, y.b, y.c from bon y where y.a='cash' and y.c in (select distinct z.acct from 你的实际表名 z);
注意:将代码中的
你的实际表名替换为子查询对应的真实表名,如果表名确实是table,则改为fromtablez。
内容的提问来源于stack exchange,提问作者Shagun Vaid
相关产品推荐
相关产品推荐

