2012-04-30 17 views
1

ファイルをhdfsにコピーするためのpythonスクリプトを書こうとしています。私はubuntuに取り組んでおり、hadoopとpydoopをインストールしています。pydoopを使ってファイルをhdfsにコピー

import pydoop.hdfs as hdfs 

class COPYTOHDFS(): 

    local_path = '/home/user/test.txt' 
    hdfs_path = '/testfile' 
    host = 'master' 
    port = 9000 
    hdfsobj = hdfs.hdfs(host, port, user='cloudera-user', groups=['supergroup']) 
    hdfsobj.copy(local_path, hdfsobj, hdfs_path) 

とエラーがここにある:

Traceback (most recent call last): 
    File "COPYTOHDFS.py", line 3, in <module> 
    class COPYTOHDFS(): 
    File "COPYTOHDFS.py", line 10, in COPYTOHDFS 
    hdfsobj.copy(local_path, hdfsobj, hdfs_path) 
    File "/usr/local/lib/python2.7/dist-packages/pydoop-0.5.2_rc2-py2.7-linux-x86_64.egg/pydoop/hdfs.py", line 458, in copy 
    return super(hdfs, self).copy(from_path, to_hdfs, to_path) 
IOError: Cannot copy /home/user/test.txt to filesystem on master 

エラーはありません詳細次のコードは、私のスクリプトです。何か案が?

答えて

2

conf/core-site.xmlには、fs操作用のtmpディレクトリが設定されています。 これらのディレクトリで実行中のユーザーの所有権とアクセス許可を設定することを忘れてしまった場合は、IO例外が発生します。

関連する問題