我正在尝试通过以下方式在HDFS中上传文件:
sudo -u hdfs hdfs dfs -put /home/hive/warehouse/sample.csv hdfs://[ip_redacted]:9000/data
我可以确定HDFS正常工作,因为我设法创建了/data
目录。
即使提供.csv文件的完整路径,也会产生相同的错误:
put: `/home/hive/warehouse/sample.csv': No such file or directory
为什么会出现此错误?
答案 0 :(得分:1)
我也遇到了问题。
因为用户hdfs
无权访问该文件的祖先目录之一,所以它给出了错误No such file or directory
。
正如crystyxn所言,使用环境变量HADOOP_USER_NAME
代替了sudo -u hdfs
是有效的。
答案 1 :(得分:0)
csv文件是在本地系统中还是在HDFS中?您只能使用-put命令(或-copyFromLocal命令)将本地文件移动到分布式文件系统中。