ParseException line 20:7 Failed to recognize predicate 'timestamp'. Failed rule: 'identifier' in tab

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xingyue0422/article/details/84302230

      今天在执行 hive ql 时,突然出现了这个错误,之前没遇到过。就自己在网上找原因,看了几篇回复都是不搭边的,都不想继续了,不过也给自己了个思路,有一篇英文贴是有效的。

        就尝试了修改操作,SET hive.support.sql11.reserved.keywords=false; 

      这个设置就是表明: 建表的字段名,最好不要使用保留字。如果已经使用了,执行sql前设置弃用,只对当前会话有效; 

     注意:   hive.support.sql11.reserved.keywords=true;   Hive 1.2 后默认是开启的; 为了避免不必要的麻烦,最好是关闭这个选项或者使用别名,不是关键字来做字段。

       2. 还遇到另外一个Hive 异常错误;

        Unable to acquire IMPLICIT, EXCLUSIVE lock   master@tmp_sales_order after 100 attempts

FAILED: Error in acquiring locks: Locks on the underlying objects cannot be acquired. retry after some time;

       在执行 hive QL 时,停留了很长时间不能往下执行,最后就报了这个异常;

       网上回复的是Hive 锁表的问题; 

      解决办法:  

     关闭锁机制: set hive.support.concurrency=false; 默认为true 

 

      

猜你喜欢

转载自blog.csdn.net/xingyue0422/article/details/84302230