將hive sql文件上傳到linux,使用hive -f xxx.sql執行時報錯如下:
FAILED: ParseException line 1:0 character '' not supported here
經過網上查詢,錯誤原因如下:
UTF-8 BOM文件開頭會有U+FEFF字符,HIVE不識別,需要轉換文件爲UTF-8 無BOM文件
UTF-8與UTF-8 BOM的區別
BOM即byte order mark,具體含義可百度百科或維基百科,UTF-8文件中放置BOM主要是微軟的習慣,但是放在別的系統上會出現問題。不含BOM的UTF-8纔是標準形式,UTF-8不需要BOM帶BOM的UTF-8文件的開頭會有U+FEFF,所以我新建的空文件會有3字節的大小。
解決方法:
1.notepad++
轉換
有些版本“使用UTF-8 編碼” ,代表無BOM模式
2.UE
另存爲UTF-8 無BOM文件