问题:
记录一次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;