[HADOOP] org.apache.hadoop.mapreduce.Job에 대한 Hadoop MultipleOutputFormat 지원
HADOOPorg.apache.hadoop.mapreduce.Job에 대한 Hadoop MultipleOutputFormat 지원
저는 Hadoop의 초보자입니다! 이제 hadoop 2.2.0과 함께 MultipleOutputFormat을 사용하려고하지만 더 이상 사용되지 않는 Mapper and Reducer (org.apache.hadoop.mapred.Reducer) 등을 사용하는 사용되지 않는 'JobConf'에서만 작동하는 것 같습니다. 새로운 'org.apache.hadoop.mapreduce.Job'으로 다중 출력 기능을 달성하는 방법에 대한 아이디어가 있습니까?
해결법
-
==============================
1.@JudgeMental이 지적했듯이 MultipleOutputFormat은 이전 API (매핑 된) 만 지원하므로 새 API와 함께 MultipleOutputs를 사용해야합니다 (mapreduce). MultipleOutputs는 실제로 MultipleOutputFormat보다 더 많은 기능을 제공합니다.
@JudgeMental이 지적했듯이 MultipleOutputFormat은 이전 API (매핑 된) 만 지원하므로 새 API와 함께 MultipleOutputs를 사용해야합니다 (mapreduce). MultipleOutputs는 실제로 MultipleOutputFormat보다 더 많은 기능을 제공합니다.
따라서 MultipleOutputs에 더 많은 기능이 있어도 명명 기능을 유연하게 등록 할 수는 없습니다.
MultipleOutputs를 사용하는 방법을 배우려면 완전한 예제가 포함 된이 문서를 살펴보십시오. 간단히 말해서 다음은 드라이버 클래스에 넣을 내용입니다.
// Defines additional single text based output 'text' for the job MultipleOutputs.addNamedOutput(job, "text", TextOutputFormat.class, LongWritable.class, Text.class); // Defines additional sequence-file based output 'sequence' for the job MultipleOutputs.addNamedOutput(job, "seq", SequenceFileOutputFormat.class, LongWritable.class, Text.class);
그리고 Mapper 또는 Reducer에서는 MultipleOutputs를 사용하여 설정 방법에서 MultipleOutputs를 초기화해야합니다. mos = new MultipleOutputs (context); 그런 다음 맵에서이를 사용하여 mos.write ( "seq", LongWritable (1), new Text ( "Bye"), "seq_a")로 함수를 줄일 수 있습니다. mos.close ()를 사용하여 정리 방법으로 닫는 것을 잊지 마십시오!
from https://stackoverflow.com/questions/20209060/hadoop-multipleoutputformat-support-for-with-org-apache-hadoop-mapreduce-job by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] hive에서 hh : mm : ss의 평균을 찾는 방법 (0) | 2019.08.17 |
---|---|
[HADOOP] Hive SQL 코딩 스타일 : 중간 테이블? (0) | 2019.08.17 |
[HADOOP] Hadoop은 다시 시작될 때 MapReduce 기록을 제거합니다. (0) | 2019.08.17 |
[HADOOP] 세미콜론으로 구분 된 필드가있는 하나의 열이있는 .csv 파일에서 Hive 테이블을 만들려면 어떻게해야합니까? (0) | 2019.08.17 |
[HADOOP] HADOOP mapreduce pgm을 사용하여 각 텍스트 값을 XML로 계산 (0) | 2019.08.17 |