3

文件 new.txt 肯定是可用的;我不知道为什么当我试图进入 hdfs 目录时,它说文件不存在。

deepak@deepak:/$ cd $HOME/fs
deepak@deepak:~/fs$ ls
new.txt
deepak@deepak:~/fs$ cat new.txt
an apple a day keeps the doctor away
deepak@deepak:~/fs$ hadoop fs -cp $HOME/fs/new.txt $HOME/hdfs
cp: File does not exist: /home/deepak/fs/new.txt
deepak@deepak:~/fs$ 

PS:我已经创建了一个名为 hdfs 的目录:

deepak@deepak:~/fs$ hadoop fs -mkdir $HOME/hdfs
mkdir: cannot create directory /home/deepak/hdfs: File exists
4

2 回答 2

9

当您希望将数据从一个 HDFS 位置复制到另一个 HDFS 位置时,使用cp 。但是您打算将数据从本地 FS 复制到 HDFS。要将数据从本地 FS 复制到 HDFS,您可以使用putcopyFromLocal

如果您真的希望使用cp来执行此操作,那么您必须指定完整路径以及方案。说,

hadoop fs -cp file:///Users/miqbal1/date.txt /

cp默认假定方案为hdfs://

但是,当您已经putcopyFromLocal时,您为什么要这样做?

高温高压

于 2014-03-19T11:16:44.883 回答
2

要将文件从本地复制到 hdfs,应使用以下命令

hadoop fs -copyFromLocal $HOME/fs/new.txt $HOME/hdfs

对于 cat hdfs 文件,您可以使用以下命令

hadoop fs -cat $HOME/hdfsnew.txt 
于 2014-03-19T10:45:30.007 回答