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

cpは、ある HDFS の場所から別の HDFS の場所にデータをコピーする場合に使用されます。ただし、ローカル FS から HDFS にデータをコピーするつもりです。ローカル FS から HDFS にデータをコピーするには、 putまたはcopyFromLocalを使用できます。

本当にcpを使用して実行したい場合は、スキームとともに完全なパスを指定する必要があります。言う、

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

cpはデフォルトでスキームがhdfs://であると仮定します

しかし、なぜあなたはそれをするのです?

HTH

于 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 に答える