[HADOOP] 어떻게 (Hadoop에서), 데이터를지도에 넣고 올바른 유형의 함수를 축소합니까?
HADOOP어떻게 (Hadoop에서), 데이터를지도에 넣고 올바른 유형의 함수를 축소합니까?
Hadoop을 이해하는 데 어려움을 겪고 있는데, 어떻게 데이터를지도에 넣고 기능을 줄였습니다. 입력 형식과 출력 형식을 정의한 다음 입력과 출력을위한 키 형식을 정의 할 수 있다는 것을 알고 있습니다. 그러나 객체를 입력 유형으로 사용하려는 경우, Hadoop은 내부적으로 어떻게 처리합니까?
고맙습니다 ...
해결법
-
==============================
1.Hadoop InputFormat 및 OutputFormat 인터페이스를 사용하여 사용자 지정 형식을 만들 수 있습니다. 예를 들어 MapReduce 작업의 출력을 JSON으로 형식화 할 수 있습니다.
Hadoop InputFormat 및 OutputFormat 인터페이스를 사용하여 사용자 지정 형식을 만들 수 있습니다. 예를 들어 MapReduce 작업의 출력을 JSON으로 형식화 할 수 있습니다.
public class JsonOutputFormat extends TextOutputFormat<Text, IntWritable> { @Override public RecordWriter<Text, IntWritable> getRecordWriter( TaskAttemptContext context) throws IOException, InterruptedException { Configuration conf = context.getConfiguration(); Path path = getOutputPath(context); FileSystem fs = path.getFileSystem(conf); FSDataOutputStream out = fs.create(new Path(path,context.getJobName())); return new JsonRecordWriter(out); } private static class JsonRecordWriter extends LineRecordWriter<Text,IntWritable>{ boolean firstRecord = true; @Override public synchronized void close(TaskAttemptContext context) throws IOException { out.writeChar('{'); super.close(null); } @Override public synchronized void write(Text key, IntWritable value) throws IOException { if (!firstRecord){ out.writeChars(",\r\n"); firstRecord = false; } out.writeChars("\"" + key.toString() + "\":\""+ value.toString()+"\""); } public JsonRecordWriter(DataOutputStream out) throws IOException{ super(out); out.writeChar('}'); } } }
from https://stackoverflow.com/questions/10961474/how-in-hadoop-is-the-data-put-into-map-and-reduce-functions-in-correct-types by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 파이썬 오류로 Hadoop 스트리밍 명령 실패 (0) | 2019.06.24 |
---|---|
[HADOOP] Hadoop이 시스템의 모든 코어를 사용하게 만드는 방법은 무엇입니까? (0) | 2019.06.24 |
[HADOOP] PIG에서 생성 된 bag (크기가 다를 수 있음)에서 첫 번째 튜플을 어떻게 추출합니까? (0) | 2019.06.24 |
[HADOOP] 어떻게 사용자 정의 RecordReader 및 InputFormat 클래스의 단위 테스트를 수행합니까? (0) | 2019.06.24 |
[HADOOP] HBase에서 페이지 매김을 달성하는 방법? (0) | 2019.06.24 |