0

私は豚とハドゥープを働かせました。しかし、理由は不明ですが、次のファイルで機能しなくなりました。Hadoop の再インストールとフォーマットをすべて行った後、新しい問題に遭遇しました。入力ファイルを Hadoop にコピーできません:

hduser@ubuntu:/usr/local/hadoop$ bin/hadoop dfs -copyFromLocal /home/hduser/pig/tutorial/pigtmp/bigdata.txt /user/hduser
hduser@ubuntu:/usr/local/hadoop$ bin/hadoop dfs -ls /user/hduser
Found 1 items
-rw-r--r--   1 hduser supergroup   10485760 2013-06-28 20:48 /user/hduser
hduser@ubuntu:/usr/local/hadoop$ 

誰が私が何をすべきか提案してもらえますか? Hadoop や pig についてよく知りません。ありがとう。

4

1 に答える 1

0

ファイルが HDFS の次の名前のファイルにコピーされました: /home/hduser。リストしたls出力は、ファイルのサイズが約 10MB であることを示しています。

今、あなたが探していたのは、ファイルがフォルダーに存在することだったと思います/home/hduser。また、コマンドを実行する前にこのフォルダーが存在しなかったと推測してい-copyFromLocalます。この場合、hadoop は指定されたファイルにコピーします。指定されたファイルがディレクトリの場合、hadoop はそのディレクトリ内のファイルにコピーします (ファイルはローカル コピーと同じ名前になります)。

-copyFromLocalしたがって、これを修正するには、 fs コマンドを実行する前に、フォルダーが存在することを確認する必要があります。

# Delete the current file you have:
hduser@ubuntu:/usr/local/hadoop$ bin/hadoop dfs -rmr /user/hduser

# create the hdusers home directory
hduser@ubuntu:/usr/local/hadoop$ bin/hadoop dfs -mkdir /user/hduser

# Copy the txt file from local to the hduser folder in hdfs
hduser@ubuntu:/usr/local/hadoop$ bin/hadoop dfs -copyFromLocal /home/hduser/pig/tutorial/pigtmp/bigdata.txt /user/hduser/

# Now the ls should show the file
hduser@ubuntu:/usr/local/hadoop$ bin/hadoop dfs -ls /user/hduser/
于 2013-06-29T12:59:54.287 に答える