問題:
記錄一次Hive導入資料找不到檔案的錯誤
load data local inpath '/data/test/ftp/test.txt' into table test;
FAILED: SemanticException Line 1:23 Invalid path ''/data/test/ftp/test.txt'': No files matching path file:/data/test/ftp/test.txt
報錯找不到檔案,确定目前機器确實存在這個檔案。
環境:實存在這個檔案。在Hive的cli端執行load語句,加載測試檔案;Hive版本2.3.7,Hadoop版本2.x
問題分析:可以參考這篇部落格https://blog.csdn.net/hao495430759/article/details/80529456
問題解決:
1)将檔案上傳到metastore服務端,在metastore服務端進行操作
将檔案上傳到metastore服務端
scp /data/test/ftp/test.txt node003:/data/test/ftp/
登陸metastore服務端
ssh node003
登陸beeline後執行load語句
beeline -u jdbc:hive2://node003:10000 -n root
load data local inpath '/data/test/ftp/test.txt' into table test;
查詢結果
select * from test;
2)将檔案上傳到hdfs,通過load進行加載
重新打開一個shell視窗,上産物檔案到HDFS
hdfs dfs -put /data/test/ftp/test.txt /data/test/RAW/
在已經登陸beeline的視窗加載資料
load data inpath '/data/test/RAW/test.txt' into table test;
檢視結果
select * from test;