2017-10-25 1 views
1

하둡은하둡 분산 파일 시스템에 파이썬 파일 (평) (HDFS)

hadoop jar <jar> 

지금 내가 대신 파이썬 스크립트를 사용하여 클러스터에 직접 자바 응용 프로그램을 실행할 수있는 가능성을 제공을 실행하는 방법 자바 애플리케이션. 다음은

는 모든 기능이없는 평 파일의 구조, 그냥 왼쪽 "제거 - 파일 -에서 폴더"부분

import os.path 

def transform(): 
    inputfolder = "input" 
    for filename in os.listdir(inputfolder): 
     path = inputfolder + "\\" + filename 
     os.remove(path) 
def main(): 
    transform() 
if __name__ == "__main__": main() 

유사 평 파일을 실행하는 방법이 있나요 .jar 파일을 실행하는 방식으로?

저는 Python과 Hadoop을 처음 사용합니다. 내 접근 방식이 완전히 꺼져 있고 이해가되지 않는 경우 모든 종류의 설명에 만족합니다!

+0

'하둡 jar'는 맵리 듀스 작업을 실행을 위해 특별히입니다에 대한지도-감소 작업을 만듭니다. 파이썬을 사용하여 HDFS에서 파일을 조작하고 싶은 것 같습니다. 어떤 경우에는 https://pypi.python.org/pypi/hdfs/ –

답변

2

파이썬 스크립트를 클러스터 전체에 배포하려는 경우 Hadoop Streaming을 사용하려고합니다.

명령의 기본 구문은 (https://hadoop.apache.org/docs/r1.2.1/streaming.html에서) 다음과 같습니다

$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/hadoop-streaming.jar \ 
-input myInputDirs \ 
-output myOutputDir \ 
-mapper myPythonScript.py \ 
-file myPythonScript.py 

이 기본적으로 파이썬 스크립트

+0

http://www.michael-noll.com/tutorials/writing-an-hadoop-mapreduce-program-in-python/을 봐야합니다. 이것에 관한 좋은 튜토리얼을 제공합니다. – tk421

+0

고마워, 옳은 길로 나를 잡았다. 파이썬 스크립트를 MapReduce 작업으로 조정해야합니다. – Rob

+0

Rob, 그냥 Hadoop이 파이썬으로 스트리밍하는 것이 stdin을 풀고 stdout을 출력한다는 점을 기억하십시오. – mjrice04