2012-04-30 4 views
1

hdfs에 파일을 복사하기위한 python 스크립트를 작성하려고합니다. 나는 우분투에서 일하고 있고 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 예외가 발생하면이를 확인하십시오.

관련 문제