복붙노트

[HADOOP] Hadoop 프로그램의 Configured 클래스 사용법은 무엇입니까?

HADOOP

Hadoop 프로그램의 Configured 클래스 사용법은 무엇입니까?

Hadoop MapReduce 프로그램의 대부분은 다음과 같습니다.

public class MyApp extends Configured Implements Tool {
    @Override
    public int run(String[] args) throws Exception {
        Job job = new Job(getConf());
        /* process command line options */
        return job.waitForCompletion(true) ? 0 : 1;
    }
    public static void main(String[] args) throws Exception {
        int exitCode = ToolRunner.run(new MyApp(), args);
        System.exit(exitCode);
    }
}

Configured의 사용법은 무엇입니까? Tool과 Configured는 모두 getConf ()와 setConf ()를 공통으로 사용합니다. 우리 신청서에 무엇이 제공됩니까?

해결법

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

    1.Configured 인터페이스의 구현 클래스가 구성됩니다. getConf () 및 setConf ()의 구현을 가지는 기본 클래스가 구성됩니다.

    Configured 인터페이스의 구현 클래스가 구성됩니다. getConf () 및 setConf ()의 구현을 가지는 기본 클래스가 구성됩니다.

    이 기본 클래스를 확장하는 것만으로이 클래스를 확장하는 클래스가 구성을 사용하여 구성 될 수 있으며 구성에 대한 구현이 두 개 이상 있습니다.

    코드가 다음 행을 실행할 때,

    ToolRunner.run(new MyApp(), args);
    

    내부적으로이 작업을 수행합니다.

    ToolRunner.run(tool.getConf(), tool, args);
    

    위의 경우 도구는 MyApp 클래스 인스턴스이며 Tool의 구현체이며 getConf ()가 있지만 인터페이스와 마찬가지입니다. 구현은 Configured 기본 클래스에서 이루어집니다. 위의 코드에서 Configured 클래스를 확장하지 않으려면 getConf () 및 setConf () 구현을 직접 수행해야합니다.

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

    2.Configured는 Configurable 인터페이스의 기본 구현입니다. 기본적으로 setConf 메소드는 전달 된 Configuration 객체에 private 인스턴스 변수를 보유하고 getConf ()는 해당 참조를 반환합니다.

    Configured는 Configurable 인터페이스의 기본 구현입니다. 기본적으로 setConf 메소드는 전달 된 Configuration 객체에 private 인스턴스 변수를 보유하고 getConf ()는 해당 참조를 반환합니다.

    Tool은 추가 실행 (..) 메소드를 제공하는 Configurable 인터페이스의 확장이며 ToolRunner와 함께 (GenericOptionsParser를 사용하여) 명령 행 옵션을 구문 분석하고 setConf (..) 메소드에 전달되는 Configuration 객체를 빌드하는 데 사용됩니다. 방법.

    기본 클래스는 일반적으로 Configured를 확장하여 Tool에 필요한 Configurable 인터페이스 메소드가 구현되도록합니다.

    일반적으로 ToolRunner 유틸리티 클래스를 사용하여 MapReduce 작업을 시작해야합니다. 명령 줄 인수를 파싱하고 Configuration 객체를 작성하는 일반적인 작업을 처리하기 때문입니다. 자세한 정보는 ToolRunner의 API 문서를 참조하십시오.

  3. from https://stackoverflow.com/questions/14134865/what-is-the-usage-of-configured-class-in-hadoop-programs by cc-by-sa and MIT license