복붙노트

[HADOOP] Hadoop MapReduce의 Mapper / Reducer 설정 및 정리 방법

HADOOP

Hadoop MapReduce의 Mapper / Reducer 설정 및 정리 방법

설치 및 정리 메소드가 각각 매퍼 및 감속기 태스크에서 호출됩니까? 또는 전체 매퍼 및 감속기 작업이 시작될 때 한 번만 호출됩니까?

해결법

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

    1.그것들은 각 작업에 대해 호출되기 때문에 20 개의 매퍼가 실행 중이면 각각에 대해 설정 / 정리가 호출됩니다.

    그것들은 각 작업에 대해 호출되기 때문에 20 개의 매퍼가 실행 중이면 각각에 대해 설정 / 정리가 호출됩니다.

    Mapper와 Reducer 둘 다에 대한 표준 실행 메소드는 map / reduce 메소드에서 예외를 catch하지 않기 때문에 예외가 이러한 메소드에서 발생하면 정리 메소드가 호출되지 않습니다.

  2. ==============================

    2.하나의 설명이 도움이됩니다. 설치 / 정리 메소드는 초기화 및 태스크 레벨에서의 정리에 사용됩니다. 작업 내에서 setup () 메서드를 한 번 호출하면 첫 번째 초기화가 수행되고 map () [또는 reduce ()] 함수에 대한 모든 호출이 수행됩니다. 그런 다음 작업을 종료하기 전에 cleanup () 메서드를 한 번 더 호출합니다.

    하나의 설명이 도움이됩니다. 설치 / 정리 메소드는 초기화 및 태스크 레벨에서의 정리에 사용됩니다. 작업 내에서 setup () 메서드를 한 번 호출하면 첫 번째 초기화가 수행되고 map () [또는 reduce ()] 함수에 대한 모든 호출이 수행됩니다. 그런 다음 작업을 종료하기 전에 cleanup () 메서드를 한 번 더 호출합니다.

  3. ==============================

    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. ==============================

    4.mapreduce 문서에 따르면 Mapper 및 Reducer 작업마다 설치 및 정리가 호출됩니다.

    mapreduce 문서에 따르면 Mapper 및 Reducer 작업마다 설치 및 정리가 호출됩니다.

  5. ==============================

    5.감속기에 할 일을 할 수 job.setNumReduceTasks (1); 그렇게하면 감속기의 셋업과 클린업이 한 번만 실행됩니다.

    감속기에 할 일을 할 수 job.setNumReduceTasks (1); 그렇게하면 감속기의 셋업과 클린업이 한 번만 실행됩니다.

  6. from https://stackoverflow.com/questions/10889152/setup-and-cleanup-methods-of-mapper-reducer-in-hadoop-mapreduce by cc-by-sa and MIT license