[HADOOP] Hadoop에서 헤더가있는 파일 처리
HADOOPHadoop에서 헤더가있는 파일 처리
Hadoop에서 많은 파일을 처리하고 싶습니다. 각 파일에는 몇 가지 헤더 정보가 있으며, 그 다음에는 고정 된 수의 바이트로 저장된 많은 레코드가 있습니다. 그것에 대한 어떤 제안이 있니?
해결법
-
==============================
1.가장 좋은 해결책은 사용자 지정 InputFormat을 작성하는 것입니다.
가장 좋은 해결책은 사용자 지정 InputFormat을 작성하는 것입니다.
-
==============================
2.한 가지 해결책이 있습니다. 매퍼가 읽는 파일의 라인 오프셋을 확인할 수 있습니다. 파일의 첫 번째 줄은 0입니다. 그래서 Map에서 다음과 같이 행을 추가 할 수 있습니다 :
한 가지 해결책이 있습니다. 매퍼가 읽는 파일의 라인 오프셋을 확인할 수 있습니다. 파일의 첫 번째 줄은 0입니다. 그래서 Map에서 다음과 같이 행을 추가 할 수 있습니다 :
public void map (LongWritable key, Text value, Context context)은 IOException, InterruptedException을 던집니다. {
if(key.get() > 0) { your mapper code } }
따라서 파일의 첫 번째 줄을 건너 뜁니다.
그러나 이런 식으로이 조건은 파일의 각 행에 대해 검사되기 때문에 좋은 방법이 아닙니다.
가장 좋은 방법은 맞춤 입력 형식을 사용하는 것입니다.
-
==============================
3.사용자 정의 FileInputFormat을 작성하는 것 외에도 파일 내에서 레코드를 처리하는 방법을 독자가 알 수 있도록 파일을 분할 할 수 없도록해야합니다.
사용자 정의 FileInputFormat을 작성하는 것 외에도 파일 내에서 레코드를 처리하는 방법을 독자가 알 수 있도록 파일을 분할 할 수 없도록해야합니다.
from https://stackoverflow.com/questions/1104336/processing-files-with-headers-in-hadoop by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 복잡한 중첩 된 Json에 대한 하이브 (0) | 2019.07.30 |
---|---|
[HADOOP] pyspark로 HBase로 스트리밍하기 (0) | 2019.07.30 |
[HADOOP] 람다 아키텍처 - 왜 배치 레이어 (0) | 2019.07.30 |
[HADOOP] getCacheFiles ()와 getLocalCacheFiles ()는 같은 것입니까? (0) | 2019.07.30 |
[HADOOP] Hadoop hdfs 디렉토리에있는 모든 Gzip 파일의 압축을 풉니 다. (0) | 2019.07.30 |