복붙노트

[HADOOP] Hadoop에서 헤더가있는 파일 처리

HADOOP

Hadoop에서 헤더가있는 파일 처리

Hadoop에서 많은 파일을 처리하고 싶습니다. 각 파일에는 몇 가지 헤더 정보가 있으며, 그 다음에는 고정 된 수의 바이트로 저장된 많은 레코드가 있습니다. 그것에 대한 어떤 제안이 있니?

해결법

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

    1.가장 좋은 해결책은 사용자 지정 InputFormat을 작성하는 것입니다.

    가장 좋은 해결책은 사용자 지정 InputFormat을 작성하는 것입니다.

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

    2.한 가지 해결책이 있습니다. 매퍼가 읽는 파일의 라인 오프셋을 확인할 수 있습니다. 파일의 첫 번째 줄은 0입니다. 그래서 Map에서 다음과 같이 행을 추가 할 수 있습니다 :

    한 가지 해결책이 있습니다. 매퍼가 읽는 파일의 라인 오프셋을 확인할 수 있습니다. 파일의 첫 번째 줄은 0입니다. 그래서 Map에서 다음과 같이 행을 추가 할 수 있습니다 :

    public void map (LongWritable key, Text value, Context context)은 IOException, InterruptedException을 던집니다.         {

            if(key.get() > 0)
                           {
                             your mapper code
                           }
                  }
    

    따라서 파일의 첫 번째 줄을 건너 뜁니다.

    그러나 이런 식으로이 조건은 파일의 각 행에 대해 검사되기 때문에 좋은 방법이 아닙니다.

    가장 좋은 방법은 맞춤 입력 형식을 사용하는 것입니다.

  3. ==============================

    3.사용자 정의 FileInputFormat을 작성하는 것 외에도 파일 내에서 레코드를 처리하는 방법을 독자가 알 수 있도록 파일을 분할 할 수 없도록해야합니다.

    사용자 정의 FileInputFormat을 작성하는 것 외에도 파일 내에서 레코드를 처리하는 방법을 독자가 알 수 있도록 파일을 분할 할 수 없도록해야합니다.

  4. from https://stackoverflow.com/questions/1104336/processing-files-with-headers-in-hadoop by cc-by-sa and MIT license