hadoop에서python 프로그램을 실행합니다

1915 단어
hadoop에서python 프로그램을 실행합니다
서류를 준비하다
4
  • 테스트 파일 테스트.txt (/home/hadoop/input/test.txt)
  • mapper.py (/home/hadoop/input/code/mapper.py)
  • reducer.py (/home/hadoop/input/code/reducer.py)

  • 위 파일의 저장 경로는 스스로 정의할 수 있습니다. 여기는 제 현재 작업 환경으로 튜토리얼을 진행하고 있습니다. 경로를 바꾸십시오. 저의HADOOPHOME은/home/hadoop - 1.0.4
    1. 당신의 Hadoop 분포식 그룹을 설정합니다
    2. 시스템 변수에 HADOOP을 설정하십시오HOME은 Hadoop 폴더 루트 디렉토리입니다.
    3.hdfs와mapreducer 시작
    start-all.sh
    

    4. 테스트용 입력 파일을hdfs에 저장합니다(당연히 마스터 호스트에서 작동합니다)
    #c  input         
    hadoop dfs -mkdir hdfs://master:9000/user/hadoop/input
    #         hdfs
    hadoop dfs -copyFromLocal /home/hadoop/input/test.txt hdfs://master:9000/user/hadoop/input
    

    5.python 프로그램을 실행하기 시작합니다
    #hadoop1.x  
    hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-streaming-1.0.4.jar \
    -mapper 'python mapper.py'   -file /home/hadoop/code/mapper.py\
    -reducer 'python reducer.py'  -file /home/hadoop/code/reducer.py \
    -input hdfs://master:9000/input/* -output hdfs://master:9000/output
    

    $HADOOP_HOME/contrib/streaming/hadoop-streaming-1.0.4.jar
    이것은 자바 프로그램입니다. 이 프로그램을 먼저 실행하면 프로세스를 만들어서 당신의python 프로그램을 실행합니다. hadoop은 모든 언어를 실행할 수 있는 프로그램을 의존합니다.
    -mapper 'python mapper.py'
    mapper 뒤에 있는 명령은 프로그램을 시작하는 데 사용됩니다
    -file/home/hadoop/code/mapper.py
    file는 모든 slave 기기에 나누어 실행할 수 있도록 프로그램이 있는 경로를 가리킨다
    -input hdfs://master:9000/input/*
    input은 입력 파일의 경로를 가리킨다. input 디렉터리에 있는 모든 파일을 읽고 표준 입력 방식으로 프로그램에 전송한다
    -output hdfs://master:9000/output
    output이 가리키는 출력 결과의 저장 경로입니다. 이 경로는 자동으로 생성됩니다. 따라서 이미 존재하는 폴더를 가리키지 마십시오. 그렇지 않으면 오류가 발생합니다.
    http://www.cnblogs.com/joyeecheung/p/3756207.html
    http://www.michael-noll.com/tutorials/writing-an-hadoop-mapreduce-program-in-python/
    HIVE
    명령schematool -initSchema -dbType mysql을 사용하여 mysql 데이터베이스hive 초기화

    좋은 웹페이지 즐겨찾기