복붙노트

[HADOOP] Hadoop MapReduce에서 Map 출력 값으로 Object를 어떻게 설정합니까?

HADOOP

Hadoop MapReduce에서 Map 출력 값으로 Object를 어떻게 설정합니까?

Hadoop MapReduce에서 중간 출력 (map ()으로 생성)에 대해 중간 출력의 값을 다음 객체로 지정합니다.


MyObject{
  date:Date
  balance:Double
}

내가 어떻게 할거야. 내 Writable 클래스를 만들어야 하나?

나는 MapReduce의 초보자이다.

감사.

해결법

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

    1.매퍼 값으로 내보낼 수있는 사용자 정의 유형을 작성할 수 있습니다. 그러나 무엇을 값으로 내고 싶은지간에, Writable Interface를 구현해야합니다. 다음과 같이 할 수 있습니다.

    매퍼 값으로 내보낼 수있는 사용자 정의 유형을 작성할 수 있습니다. 그러나 무엇을 값으로 내고 싶은지간에, Writable Interface를 구현해야합니다. 다음과 같이 할 수 있습니다.

    public class MyObj implements WritableComparable<MyObj>{
    
        private String date;
        private Double balance;
    
        public String getDate() { return date;}
        public Double getBalance() { return balance;}
    
        @Override
        public void readFields(DataInput in) throws IOException {
    
            //Define how you want to read the fields
            }
        @Override
        public void writeFields(DataOutput out) throws IOException {
    
            //Define how you want to write the fields
        }
            .......
            .......
            .......
    
    }
    

    또는 Avro 직렬화 프레임 워크를 사용할 수 있습니다.

  2. from https://stackoverflow.com/questions/13877077/how-do-i-set-an-object-as-the-value-for-map-output-in-hadoop-mapreduce by cc-by-sa and MIT license