line cannot recognize input near ';' '<EOF>' '<EOF>' in expression specification (HQL报错)

本文详细解析了一个关于Hive SQL语法错误的案例,错误出现在使用复杂窗口函数和子查询的过程中,具体表现为在表达式末尾误加了分号,导致SQL语句无法被正确解析。文章提供了详细的错误信息及修正方案,对于使用Hive进行大数据处理的开发者来说,是一份宝贵的参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

%hive

Create table table1 stored as orc as 
SELECT p3.*
from(SELECT p2.*
   ,row_number() over(PARTITION BY p2.id ORDER BY p2.find DESC) rf
  FROM (SELECT p1.*
    , row_number() over(PARTITION BY find ORDER BY time DESC) rn
           FROM table2 p1
           WHERE time < '2018-11-01'
     ) p2
  WHERE rn = 1
)p3
where p3.rf = 1
AND p3.status = 11;

报错返回语句:

line 13:24 cannot recognize input near ';' '<EOF>' '<EOF>' in expression specification

错误原因:
最后一行的 ; 导致的

解决方案:
删除最后一行的 ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值