ParseException line 20:7 Failed to recognize predicate 'timestamp'. Failed rule: 'identifier' in tab
阿新 • • 發佈:2019-01-07
今天在執行 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 [email protected]_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