Hive 中的 ParseExection 错误

Posted

技术标签:

【中文标题】Hive 中的 ParseExection 错误【英文标题】:ParseExection error in Hive 【发布时间】:2017-12-05 16:27:14 【问题描述】:

在 Hive 中执行 select 语句时出现错误。

错误:org.apache.hive.service.cli.HiveSQLException:编译语句时出错:FAILED:ParseException line 1:33 cannot identify input near ''''''

查询示例:;with cte1 as (select * from table1) , cte2 as ( select * from table2) , cte3 as (select * from table3) 从 cte2 中选择 * 在 cte2.col1 = cte3.col1 上加入 cte3 在 cte1.col1 上加入 cte1 = cte2.col1;

【问题讨论】:

【参考方案1】:

您缺少别名参考,请在您的别名之后添加 keywound "as"

with cte1 as  ( select * from table1) , cte2 as ( select * from table2) , cte3 as ( select * from table3) select * from cte2 join cte3 on cte2.col1 = cte3.col1 join cte1 on cte1.col1 = cte2.col1

在 hive 1.1 中测试

【讨论】:

我在我的问题中错过了“as”,但我在查询中使用了它。 你从哪里运行这个?直线,蜂巢,jdbc,色调?您可以准确打印您的查询并将其拆分为不同的行吗?我没有看到任何 " 字符。 我不应该分享我的代码,这就是我提供模板的原因,我没有错过任何...我在 Ambari Hive 2.0 中执行它。

以上是关于Hive 中的 ParseExection 错误的主要内容,如果未能解决你的问题,请参考以下文章

或者 Hive 中的 JOIN 错误当前不支持

Hive UDF - evaluate() 方法中的错误

Hive 中的多个表连接出现错误 - 连接中遇到左右别名

检查python写的hive udf中的错误

Hive查看执行日志

由于 Hive 元存储中的许多分区而导致的错误