我是新来的,因为我只是在我的第二学期,我只是需要帮助理解一个命令,我需要做。我正在尝试使用终端将本地csv文件加载到cloudera上的hdfs。我要用这些数据和Pig一起完成任务。我什么都试过了,但它仍然让我 'no such file or directory'
. 我已经关闭了安全模式,检查了目录,甚至确保文件可以读取。以下是我尝试加载数据的命令:
hadoop fs -copyFromLocal 2008.csv
hdfs dfs -copyFromLocal 2008.csv
hdfs dfs -copyFromLocal 2008.csv /user/root
hdfs dfs -copyFromLocal 2008.csv /home/cloudera/Desktop
什么都不管用,一直给我
'2008.csv'没有这样的文件或目录
. 我能做些什么来解决这个问题?非常感谢你。
2条答案
按热度按时间busg9geu1#
我必须用这些数据和Pig一起工作
你可以不用hdfs跑Pig。
pig -x local
我什么都试过了,但它仍然给我'没有这样的文件或目录'好吧,这个错误不是来自hdfs,它似乎是来自您的本地shell。
ls
显示当前目录中可用于的文件-copyFromLocal
或者-put
没有绝对路径的工作。要完全确定要复制的内容以及复制到的位置,请在两个参数中使用完整路径。如果使用这两个标志,则第二条路径始终是hdfs。
试试这个
甚至
我觉得你有什么问题,是吗
/user/root
是不正确的,除非您以root
用户,两者都不是/home/cloudera/Desktop
因为hdfs没有Desktop
.没有第二条路径的默认行为是
(如果没有后面的斜杠,或者一个预先存在的目录,它将复制
<file>
字面上是一个文件,这在某些情况下可能是意外的,例如,当试图将一个文件复制到用户目录中时,但该目录还不存在)ubby3x7f2#
我相信您已经检查并确认2008.csv存在。这就是为什么我认为这个文件的权限不允许你复制它。
尝试:
sudo -u hdfs cat 2008.csv
如果您的权限被拒绝错误,这是您的问题。安排文件的权限或创建新的权限(如果是)。如果再次出现“无文件”错误,请尝试使用文件的整个路径,如: