2013-04-08 1 views
0

제 질문과 관련하여 저는 파이썬으로 작성된 스트리밍 프로세스를 가지고 있습니다.각 키에 대해 다른 Reducer 프로세스를 사용하도록 Hadoop을 구성 하시겠습니까?

Reducersys.stdin을 통해 여러 키와 관련된 모든 값을 가져옵니다.

sys.stdin에 하나의 키와 관련된 값만 있으면 좋을 것입니다. Hadoop에서도 가능합니까? 키마다 다른 프로세스가 완벽하다고 생각하지만이 동작을 제공하는 구성을 찾을 수 없습니다.

나를 도와 줄 수있는 정보 나 코드를 누군가가 도와 줄 수 있습니까?

+0

왜 각 감속기를 단일 키로 제한 하시겠습니까? – highlycaffeinated

답변

0

예, 매퍼가 방출 할 총 키 수를 알고있는 경우 당신은 job.setNUmReduceTasks (INT n)도 또한

,

mapred.tasktracker.reduce.tasks로 mapred-site.xml 파일에서 정의 할 수 있습니다 parrallely 실행 될 것 감속기의 총 개수로 설정할 수 있습니다. 최대

줄이기 프로세스가 빨라질 것입니다. 그러나 각 감속기는 jvm 작업으로 실행됩니다. 따라서 귀하의 구성은 생성 될 jvms 수를 처리 할 수 ​​있어야합니다.

1

각 매퍼는 각 감속기에 대해 하나의 출력 파일을 생성하므로 사용 가능한 전체 축소기 수를 알아야합니다. 작업을 시작하기 전에 키의 수를 알고 있으면 많은 수의 감속기를 갖도록 작업을 구성 할 수 있습니다. 그렇지 않으면 매퍼가 완료 될 때까지 총 키 수를 알 수 없기 때문에 운이 없게됩니다.

관련 문제