Hive報錯 Error while compiling statement: FAILED: ParseException line 1:0 character '' not supported here (state=42000,code=40000)
描述:
問題發生的很突然,之前還執行的好好的腳本,今天突然就不行了 HUE調度出來的結果都是綠色,未發現任何問題,但是結果數據就是不對
細查一下, 在shell腳本里面去掉抽數的腳本信息,重跑后,問題開始浮出水面了...
Error while compiling statement: FAILED: ParseException line 1:0 character '' not supported here (state=42000,code=40000)
詳細報錯信息如下:
解決方案:
將beeline -u 需要執行的腳本信息(eg: insert.hql)的編碼格式轉換為 UTF-8, 記住是UTF-8!!! 再重新上傳文件到HUE上,重跑即正常了!!!
(這里是因為我之前設置過腳本的編碼格式為 Encode in UTF-8-BOM ,所以就會出錯,數據不准確,可要記得不要亂改文件的編碼!!!)
ps:
附加一個小問題,之前在跑數的時候發現 HUE調度正常,結果為綠色,但是我們的結果庫里數據不正常。
原因: 我們的腳本里面 最后忘記了些分號! hive腳本忘記以分號結尾了!!! 添加分號后就數據正常了!!!
需要仔細查日志才會有報錯信息: 找到對應的工作流 workdflow --> Tasks --> Error --> Jobxxxxx -->Tasks --> Map --> Attempt --> Container --> stderr (大概的查看日志步驟)