0

私はHadoopとHDFSを初めて使用するので、ローカルホスト(Ubuntu 10.04)からローカルホスト上の単一ノードのHDFSにコピーするときに間違っている可能性があります。最初のコピーは正常に機能しますが、ローカル入力フォルダーを変更してHDFSにコピーし直そうとすると、HDFSパスが変更されます。

~$ $HADOOP_HOME/bin/hadoop dfs -copyFromLocal /tmp/anagram /user/hduser/anagram
~$ $HADOOP_HOME/bin/hadoop dfs -ls /user/hduser/anagram
Found 1 items
-rw-r--r--   1 hduser supergroup    4067675 2011-08-29 05:44 /user/hduser/anagram/SINGLE.TXT

同じローカルディレクトリに別のファイル(COMMON.TXT)を追加した後、ローカルディレクトリで同じコピーをHDFSに実行しましたが、今回は最初とは異なる場所にコピーします(/ user / hduser/anagramから/user / hduser / anagram / anagram)。

~$ $HADOOP_HOME/bin/hadoop dfs -copyFromLocal /tmp/anagram /user/hduser/anagram
~$ $HADOOP_HOME/bin/hadoop dfs -ls /user/hduser/anagram
Found 2 items
-rw-r--r--   1 hduser supergroup    4067675 2011-08-29 05:44 /user/hduser/anagram/SINGLE.TXT
drwxr-xr-x   - hduser supergroup          0 2011-08-29 05:48 /user/hduser/anagram/anagram
~$ $HADOOP_HOME/bin/hadoop dfs -ls /user/hduser/anagram/anagram
Found 2 items
-rw-r--r--   1 hduser supergroup     805232 2011-08-29 05:48 /user/hduser/anagram/anagram/COMMON.TXT
-rw-r--r--   1 hduser supergroup    4067675 2011-08-29 05:48 /user/hduser/anagram/anagram/SINGLE.TXT

誰かがこれに遭遇しましたか?これを解決するには、最初のディレクトリを削除してから、もう一度コピーする必要があることがわかりました。

~$ $HADOOP_HOME/bin/hadoop dfs -rmr /user/hduser/anagram/anagram
Deleted hdfs://localhost:54310/user/hduser/anagram/anagram
~$ $HADOOP_HOME/bin/hadoop dfs -rmr /user/hduser/anagram
Deleted hdfs://localhost:54310/user/hduser/anagram
~$ $HADOOP_HOME/bin/hadoop dfs -copyFromLocal /tmp/anagram /user/hduser/anagram
~$ $HADOOP_HOME/bin/hadoop dfs -ls /user/hduser/anagram
Found 2 items
-rw-r--r--   1 hduser supergroup     805232 2011-08-29 05:55 /user/hduser/anagram/COMMON.TXT
-rw-r--r--   1 hduser supergroup    4067675 2011-08-29 05:55 /user/hduser/anagram/SINGLE.TXT

毎回ディレクトリを削除せずにこれを行う方法を知っている人はいますか?

4

1 に答える 1

2

これは副作用のようです(FileUtil.java、静的メソッドFileUtil.checkDest(String srcName、FileSystem dstFS、Path dst、boolean overwrite)を確認してください)これを試してください:

hadoop dfs -copyFromLocal /tmp/anagram/*.TXT /user/hduser/anagram

ディレクトリの更新用。

于 2011-08-29T10:05:50.233 に答える