hive 报错NoViableAltException

hive 报错NoViableAltException

报错内容

报错图片

NoViableAltException(-1@[123:1: selectItem : ( ( tableAllColumns )=> tableAllColumns -> ^( TOK_SELEXPR tableAllColumns ) | ( expression ( ( ( KW_AS )? identifier ) | ( KW_AS LPAREN identifier ( COMMA identifier )* RPAREN ) )? ) -> ^( TOK_SELEXPR expression ( identifier )* ) );])
        at org.apache.hadoop.hive.ql.parse.HiveParser_SelectClauseParser$DFA17.specialStateTransition(HiveParser_SelectClauseParser.java:5389)
        at org.antlr.runtime.DFA.predict(DFA.java:80)
        at org.apache.hadoop.hive.ql.parse.HiveParser_SelectClauseParser.selectItem(HiveParser_SelectClauseParser.java:2247)
        at org.apache.hadoop.hive.ql.parse.HiveParser_SelectClauseParser.selectList(HiveParser_SelectClauseParser.java:1168)
        at org.apache.hadoop.hive.ql.parse.HiveParser_SelectClauseParser.selectClause(HiveParser_SelectClauseParser.java:942)

报错排查

insert overwrite table cl_ads.ads_finance_invoicing_mi
partition(ptt_mon,pf)
SELECT account parent_account, -- 母账号
 (balance - recharge_money + charge) beginning_money, -- 期初金额 
recharge_money, -- 本期充值金额, 判断销账类型,如果是月结,不减;其他的销账减 期初=期末-本期充值+本期消耗
shibai_huankuan fail_remission_money,
${ptt_mon} ptt_mon,
           'ws' pf
FROM
   cl_ods.ods_ws_t_record_detail_daily_di
      WHERE ptt_mon = '${ptt_mon}'
     ;

排查错误: 其中注释中包含了 ‘;’ , 造成报错

报错解决

解决方案: 删除注释中的 ’ ;’

参考资料

  • 解决了问题的资料(注释中’;'作为终止符,产生错误,)

https://www.cnblogs.com/barneywill/p/11272426.html
https://blog.csdn.net/qq_26645205/article/details/78352882

  • 关键字冲突(本例中无效)

https://blog.csdn.net/qq595662096/article/details/100150850

  • 指定子查询的表名(本例中无效)

https://blog.csdn.net/Maricle_Again/article/details/100364188

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值