복붙노트

[HADOOP] 하둡 스트리밍 작업을 시작하는 다른 방법

HADOOP

하둡 스트리밍 작업을 시작하는 다른 방법

터미널에서 hadoop 스트리밍 작업을 성공적으로 시작할 수 있지만 API, 일식 또는 다른 방법을 통해 스트리밍 작업을 시작하는 방법을 찾고 있습니다.

내가 찾은 가장 가까운 것은이 게시물 https://stackoverflow.com/questions/11564463/remotely-execute-hadoop-streaming-job이지만 답변이 없습니다!

어떤 아이디어 나 제안이라도 환영합니다.

해결법

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

    1.흥미로운 질문, 나는 이것을 할 수있는 방법을 찾았습니다.

    흥미로운 질문, 나는 이것을 할 수있는 방법을 찾았습니다.

    첫 번째 방법은 Hadoop 0.22에서 작동해야합니다.

    Configuration conf = new Configuration();
    conf.set("fs.defaultFS", "hdfs://xxxxx:9000");
    conf.set("mapred.job.tracker", "hdfs://xxxxx:9001");
    StreamJob sj = new StreamJob();
    try {
        ToolRunner.run(conf, sj, new String[] { 
                    "-D", "stream.tmpdir=c:\\",
                    "-mapper", "/path/to/mapper.py",
                    "-reducer", "/path/to/reducer.py", "-input",
                    "/path/to/input", "-output",
                    "/path/to/output" });
    } catch (Exception e) {
        e.printStackTrace();
    }
    

    나는 당신이 실행할 수있는이 Java 래퍼를 발견했습니다.

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

    2.Apache Oozie를 살펴보십시오. XML을 통해 작업을 정의한 후에는 HTTP POST를 통해 oozie 서버로 작업을 시작할 수 있습니다

    Apache Oozie를 살펴보십시오. XML을 통해 작업을 정의한 후에는 HTTP POST를 통해 oozie 서버로 작업을 시작할 수 있습니다

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

    3.Hadoop 스트리밍 작업이 다음과 같이 실행될 때

    Hadoop 스트리밍 작업이 다음과 같이 실행될 때

    org.apache.hadoop.streaming.HadoopStreaming이 실행됩니다. 이 클래스는 hadoop-streaming-1.0.3.jar의 MANIFEST.MF에 정의되어 있습니다. org.apache.hadoop.streaming.HadoopStreaming Java 클래스의 코드를 확인하여 API 세부 사항을 확인하십시오.

  4. from https://stackoverflow.com/questions/14248800/alternative-ways-to-start-hadoop-streaming-job by cc-by-sa and MIT license