복붙노트

[HADOOP] Hadoop에서 BZip2 파일 읽기

HADOOP

Hadoop에서 BZip2 파일 읽기

성능을 높이기 위해 여러 mappers를 사용하여 하나의 bzip2 파일의 여러 부분을 Hadoop에서 동시에 읽을 수 있다고 들었습니다. 하지만 검색 후 관련 샘플을 찾을 수 없습니다. 누구나 나를 관련 코드 스 니펫으로 안내 할 수 있으면 감사하게 생각합니다. 감사.

BTW : gzip은 동일한 기능을 가지고 있습니다 (여러 개의 매퍼 프로세스가 하나의 gzip 파일의 다른 부분을 병렬로 처리합니다).

해결법

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

    1.다음을보십시오 : http://comments.gmane.org/gmane.comp.jakarta.lucene.hadoop.user/30662, bzip2 형식이 실제로 분할 가능하고 여러 매퍼가 하나의 파일에서 작동 할 수 있습니다. 패치는 https://issues.apache.org/jira/browse/HADOOP-4012에서 제출되었습니다. 그러나 HADOOP 0.21.0 이상에서만 사용할 수 있습니다.

    다음을보십시오 : http://comments.gmane.org/gmane.comp.jakarta.lucene.hadoop.user/30662, bzip2 형식이 실제로 분할 가능하고 여러 매퍼가 하나의 파일에서 작동 할 수 있습니다. 패치는 https://issues.apache.org/jira/browse/HADOOP-4012에서 제출되었습니다. 그러나 HADOOP 0.21.0 이상에서만 사용할 수 있습니다.

    bzip2의이 기술을 사용하기 위해 개인적인 경험에서부터 당신이해야 할 다른 것은 없습니다. hadoop은 분할 크기에 따라 자동으로 선택됩니다.

    bzip2 압축 데이터를 블록 단위로 압축하므로 블록 단위로 압축을 풀고 각 블록을 별도의 매퍼로 보낼 수 있습니다. 그러나 gzip에는 이러한 기술이 없으므로 다른 매퍼로 보낼 수 없습니다.

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

    2.병렬 bz2 압축 및 압축 해제의 예제로 pbzip2를 볼 수 있습니다.

    병렬 bz2 압축 및 압축 해제의 예제로 pbzip2를 볼 수 있습니다.

    병렬 gzip도 있습니다. pigz. 병렬 압축은 수행하지만 병렬 압축은 수행하지 않습니다. 압축 형식은 병렬 압축 해제에 적합하지 않습니다. 그러나 당신은 a) 역사의 재설정과 함께 특별한 gzip 스트림을 준비하거나, b) 첫 번째 패스에서 gzip 파일에 인덱스를 만들 수 있습니다. 어느 쪽이든, 당신은 다음 병렬로 다른 부분을 읽을 수있는, 또는보다 효율적으로 임의 액세스 할 수 있습니다.

  3. from https://stackoverflow.com/questions/14035736/bzip2-file-read-in-hadoop by cc-by-sa and MIT license