[HADOOP] Hadoop MapReduce의 Mapper / Reducer 설정 및 정리 방법
HADOOPHadoop MapReduce의 Mapper / Reducer 설정 및 정리 방법
설치 및 정리 메소드가 각각 매퍼 및 감속기 태스크에서 호출됩니까? 또는 전체 매퍼 및 감속기 작업이 시작될 때 한 번만 호출됩니까?
해결법
-
==============================
1.그것들은 각 작업에 대해 호출되기 때문에 20 개의 매퍼가 실행 중이면 각각에 대해 설정 / 정리가 호출됩니다.
그것들은 각 작업에 대해 호출되기 때문에 20 개의 매퍼가 실행 중이면 각각에 대해 설정 / 정리가 호출됩니다.
Mapper와 Reducer 둘 다에 대한 표준 실행 메소드는 map / reduce 메소드에서 예외를 catch하지 않기 때문에 예외가 이러한 메소드에서 발생하면 정리 메소드가 호출되지 않습니다.
-
==============================
2.하나의 설명이 도움이됩니다. 설치 / 정리 메소드는 초기화 및 태스크 레벨에서의 정리에 사용됩니다. 작업 내에서 setup () 메서드를 한 번 호출하면 첫 번째 초기화가 수행되고 map () [또는 reduce ()] 함수에 대한 모든 호출이 수행됩니다. 그런 다음 작업을 종료하기 전에 cleanup () 메서드를 한 번 더 호출합니다.
하나의 설명이 도움이됩니다. 설치 / 정리 메소드는 초기화 및 태스크 레벨에서의 정리에 사용됩니다. 작업 내에서 setup () 메서드를 한 번 호출하면 첫 번째 초기화가 수행되고 map () [또는 reduce ()] 함수에 대한 모든 호출이 수행됩니다. 그런 다음 작업을 종료하기 전에 cleanup () 메서드를 한 번 더 호출합니다.
-
==============================
3.Mapper 작업 또는 Reducer 작업이라고합니다. 여기에 hadoop 코드가 있습니다.
Mapper 작업 또는 Reducer 작업이라고합니다. 여기에 hadoop 코드가 있습니다.
public void run(Context context) throws IOException, InterruptedException { setup(context); try { while (context.nextKey()) { reduce(context.getCurrentKey(), context.getValues(), context); } } finally { cleanup(context); } }
-
==============================
4.mapreduce 문서에 따르면 Mapper 및 Reducer 작업마다 설치 및 정리가 호출됩니다.
mapreduce 문서에 따르면 Mapper 및 Reducer 작업마다 설치 및 정리가 호출됩니다.
-
==============================
5.감속기에 할 일을 할 수 job.setNumReduceTasks (1); 그렇게하면 감속기의 셋업과 클린업이 한 번만 실행됩니다.
감속기에 할 일을 할 수 job.setNumReduceTasks (1); 그렇게하면 감속기의 셋업과 클린업이 한 번만 실행됩니다.
from https://stackoverflow.com/questions/10889152/setup-and-cleanup-methods-of-mapper-reducer-in-hadoop-mapreduce by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 하위 쿼리를 작성하고 하이브에서 "In"절을 사용하는 방법 (0) | 2019.07.06 |
---|---|
[HADOOP] Spark에서 중첩 된 모음을 읽는 방법 (0) | 2019.07.06 |
[HADOOP] 타임 스탬프에 따라 HDFS 디렉토리의 파일을 나열하는 hdfs 명령이 있습니까? (0) | 2019.07.05 |
[HADOOP] Hadoop 배포판의 차이점 (0) | 2019.07.05 |
[HADOOP] HIVE QL의 테이블에 열 추가 (0) | 2019.07.05 |