복붙노트

[HADOOP] Hadoop 0.20+를 사용하여 여러 출력 파일 생성하기

HADOOP

Hadoop 0.20+를 사용하여 여러 출력 파일 생성하기

내 감속기의 결과를 여러 파일로 출력하려고합니다. 데이터 결과는 모두 하나의 파일에 포함되며 나머지 결과는 존중하는 파일의 범주를 기준으로 분할됩니다. 0.18을 사용하면 MultipleOutputs를 사용하여이 작업을 수행 할 수 있으며 제거되지 않았 음을 알고 있습니다. 그러나, 나는 0.20 + 호환 응용 프로그램을 만들기 위해 노력하고있어. 기존의 다중 출력 기능에는 여전히 JobConf (내 응용 프로그램이 Job 및 Configuration을 사용)이 필요합니다. 어떻게하면 키를 기반으로 여러 출력을 생성 할 수 있습니까?

해결법

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

    1.MultipleOutputs에 대한 지원은 0.20에 없습니다. 이전 API를 사용해야합니다.

    MultipleOutputs에 대한 지원은 0.20에 없습니다. 이전 API를 사용해야합니다.

    현재 0.21에 추가되었으며, 현재는 org.apache.hadoop.mapreduce.lib.output.MultipleOutputs로 출시되지 않았습니다.

    메일 링리스트의이 스레드는이 문제에 대해 이야기합니다.

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

    2.앞서 언급했듯이 이전 API를 사용해야하는 Hadoop 0.20에서이 작업을 수행 할 수 있습니다.

    앞서 언급했듯이 이전 API를 사용해야하는 Hadoop 0.20에서이 작업을 수행 할 수 있습니다.

    그렇게하기위한 아주 거친 코드가 있습니다.   http://github.com/orngejaket/Info_Moist_1_Splicer/tree/master/src/contrib/streaming/src/java/org/infochimps/hadoop/mapred/lib/

    결과 jar는 각 레코드를 그 (소독 된) 키 다음에 명명 된 파일에 씁니다.

  3. from https://stackoverflow.com/questions/2180101/generating-multiple-output-files-with-hadoop-0-20 by cc-by-sa and MIT license