복붙노트

[HADOOP] 감속기이 완료되면 매퍼 전화

HADOOP

감속기이 완료되면 매퍼 전화

나는 일을 같이 실행하고 있습니다 :

hadoop/bin/./hadoop jar /home/hadoopuser/hadoop/share/hadoop/tools/lib/hadoop-streaming-2.6.0.jar  -D mapred.reduce.tasks=2 -file kmeans_mapper.py    -mapper kmeans_mapper.py -file kmeans_reducer.py \
-reducer kmeans_reducer.py -input gutenberg/small_train.csv -output gutenberg/out

두 개의 감속기가 완료되면 이상적으로 나는 그것의 입력으로 감속기의 출력을받을 다른 파일 (다른 매퍼?)를 호출하고 싶은, 그래서 나는 결과에 뭔가를하고 싶습니다. 어떻게 쉽게 그렇게 할 수?

내가 설명하지 않는하는 Mrjob의 예제가이 블로그를 확인, 나는 내 작업을 수행하는 방법을하지 않습니다.

맵리 듀스 튜토리얼 상태 :

하지만 어떤 예제를 제공하지 않습니다 ...

여기에 내가 이해할 수있는 자바의 일부 코드가 있지만, 파이썬을 쓰고 있어요! : /

하둡 스트리밍 체인화 여러 맵리 듀스 작업 :이 질문은 약간의 실마리를

해결법

  1. ==============================

    1.당신이에 대한 예를 발견했습니다로서 자바 API를 사용하기위한 요구하고 일을 할 수 있습니다.

    당신이에 대한 예를 발견했습니다로서 자바 API를 사용하기위한 요구하고 일을 할 수 있습니다.

    그러나, 당신은 단순히 표준 읽고 표준 출력에 기록 스트리밍 API를 사용하고 있습니다. 맵리 듀스 작업이 하둡 jar 명령의 완료가 아닌 다른 완료되면 말을 콜백이 없다. 작업이 완료 기 때문에, 정말 "성공"을 표시하지 않습니다. 즉, 실제로 스트리밍 API 주위에 좀 더 공구없이 수 없습니다 말했다되고.

    출력은 로컬 터미널보다는 HDFS에 기록 된 경우, 다른 스트리밍 작업의 입력에 출력하지만, 불행하게도, 스팀 용기로 입력 및 출력 HDFS의 경로를 요구하는 파이프 가능할 것이다.

  2. from https://stackoverflow.com/questions/35249753/call-mapper-when-reducer-is-done by cc-by-sa and MIT license