copyFromLocal Hadoopに対応するファイルまたはディレクトリエラーがありません。

copyFromLocal Hadoopに対応するファイルまたはディレクトリエラーがありません。

Fedora コマンド端末から次のコードを取得します。

[root@localhost python_code]# pwd
/root/python_code
[root@localhost python_code]# cd ..
[root@localhost ~]# ls
anaconda-ks.cfg  python_code
[root@localhost ~]# cd /usr/local
[root@localhost local]# ls
bin  games   hadoop-2.6.4.tar.gz  input        lib    libexec  sbin   src
etc  hadoop  include              jdk1.8.0_77  lib64  output   share
[root@localhost local]# cd hadoop
[root@localhost hadoop]# ls
bin  include  libexec      logs        README.txt  share
etc  lib      LICENSE.txt  NOTICE.txt  sbin
[root@localhost hadoop]# pwd
/usr/local/hadoop
[root@localhost hadoop]# bin/hdfs dfs -copyFromLocal /root/python_code/input_data.csv /usr/local/hadoop/input_localuser
copyFromLocal: `/usr/local/hadoop/input_localuser': No such file or directory
[root@localhost hadoop]# ls
bin  include  libexec      logs        README.txt  share
etc  lib      LICENSE.txt  NOTICE.txt  sbin
[root@localhost hadoop]# mkdir input_localuser
[root@localhost hadoop]# ls
bin  include          lib      LICENSE.txt  NOTICE.txt  sbin
etc  input_localuser  libexec  logs         README.txt  share
[root@localhost hadoop]# bin/hdfs dfs -copyFromLocal /root/python_code/input_data.csv /usr/local/hadoop/input_localuser
copyFromLocal: `/usr/local/hadoop/input_localuser': No such file or directory
[root@localhost hadoop]# bin/hdfs dfs -copyFromLocal /root/python_code/input_data.csv home/usr/local/hadoop/input_localuser
copyFromLocal: `home/usr/local/hadoop/input_localuser': No such file or directory
[root@localhost hadoop]# pwd
/usr/local/hadoop
[root@localhost hadoop]# ls
bin  include          lib      LICENSE.txt  NOTICE.txt  sbin
etc  input_localuser  libexec  logs         README.txt  share
[root@localhost hadoop]#

追加コード:

[root@localhost hadoop]# cd ~
[root@localhost ~]# ls
anaconda-ks.cfg  python_code
[root@localhost ~]# cd python_code
[root@localhost python_code]# ls
data_generator.py  input_data.csv  mapper_project.py  reducer_project.py
[root@localhost python_code]#

上記のように、私のディレクトリはルートフォルダにあり、そのフォルダのファイルをhadoop内のディレクトリpython_codeにコピーしようとしています。input_userlocal

ただし、次のコマンドはエラーを発生させます。

bin/hdfs dfs -copyFromLocal /root/python_code/input_data.csv /usr/local/hadoop/input_localuser
    copyFromLocal: `/usr/local/hadoop/input_localuser': No such file or directory

ベストアンサー1

まず、Hadoopコマンドが正しくない可能性があります。

dfs -copyFromLocal2つのパラメータ、つまりローカルファイル(指定どおり)とHadoop URIが必要です。あなたが与えたファイルパスではありません。

Hadoop Webページから

すべてのFSシェルコマンドは、パスURIをパラメータとして使用します。 URI形式はchem://authority/pathです。 HDFSの場合、スキームはhdfs、ローカルFSの場合、スキームはファイルです。スキームと権限はオプションです。指定しない場合、設定で指定されたデフォルトスキームが使用されます。 HDFS ファイルまたはディレクトリ (/parent/child など) は、hdfs://namenodehost/parent/child として指定するか、単に /parent/child として指定できます (設定が hdfs://namenodehost を指すように設定されていると仮定します) )。

FS シェルのほとんどのコマンドは、対応する Unix コマンドのように動作します。各コマンドの違いについて説明します。エラーメッセージはstderrに送信され、出力はstdoutに送信されます。

Hadoopインスタンスの構造はわかりませんが、ターゲットはファイルシステムだけでなく構造の名前に基づいている必要があります。

第二に、上記を示していません/root/python_code/。それが存在すると確信していますかinput_data.csv

おすすめ記事