복붙노트

[HADOOP] hadoop 매퍼에있는 객체 유형의 키

HADOOP

hadoop 매퍼에있는 객체 유형의 키

hadoop을 처음 사용하고 여기에서 mapreduce wordcount 예제 코드를 이해하려고합니다.

문서의 매퍼는 -

Mapper<KEYIN,VALUEIN,KEYOUT,VALUEOUT>

mapreduce word count 예제에서지도 코드는 다음과 같습니다.

public void map(Object key, Text value, Context context)

질문 - Object 유형의이 키 포인트는 무엇입니까? mapper에 대한 입력이 텍스트 문서 인 경우 hadoop이 HDFS에 분할되어 저장되어있는 텍스트 (64MB 또는 128MB)의 덩어리가 있다고 가정합니다. 보다 일반적으로이 입력 키 Keyin을지도 코드에 사용하면 무엇입니까?

어떤 포인터가 크게 감사하겠습니다

해결법

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

    1.InputFormat은 Map-Reduce 작업에 대한 입력 사양을 설명합니다. 기본적으로 hadoop은 FileInputFormat을 상속 한 TextInputFormat을 사용하여 입력 파일을 처리합니다.

    InputFormat은 Map-Reduce 작업에 대한 입력 사양을 설명합니다. 기본적으로 hadoop은 FileInputFormat을 상속 한 TextInputFormat을 사용하여 입력 파일을 처리합니다.

    클라이언트 또는 드라이버 코드에서 사용할 입력 형식을 지정할 수도 있습니다.

    job.setInputFormatClass(SomeInputFormat.class);
    

    TextInputFormat의 경우 파일이 줄 바꿈됩니다. 키는 파일의 위치이며 값은 텍스트 행입니다.

    public void map (Object key, Text value, Context context)에서 key는 라인 오프셋이고 value는 실제 텍스트입니다.

    TextInputFormat API를 살펴보십시오. https://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapreduce/lib/input/TextInputFormat.html

    기본적으로 Key는 LongWritable 유형이고 값은 TextInputFormat의 Text 유형입니다.이 예에서 Object 유형은 LongWritable 대신 호환 가능하므로 LongWritable에 지정됩니다. LongWritable 유형을 Object 위치에 사용할 수도 있습니다.

  2. from https://stackoverflow.com/questions/29063844/key-of-object-type-in-the-hadoop-mapper by cc-by-sa and MIT license