[HADOOP] Hadoop에서 BZip2 파일 읽기
HADOOPHadoop에서 BZip2 파일 읽기
성능을 높이기 위해 여러 mappers를 사용하여 하나의 bzip2 파일의 여러 부분을 Hadoop에서 동시에 읽을 수 있다고 들었습니다. 하지만 검색 후 관련 샘플을 찾을 수 없습니다. 누구나 나를 관련 코드 스 니펫으로 안내 할 수 있으면 감사하게 생각합니다. 감사.
BTW : gzip은 동일한 기능을 가지고 있습니다 (여러 개의 매퍼 프로세스가 하나의 gzip 파일의 다른 부분을 병렬로 처리합니다).
해결법
-
==============================
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.병렬 bz2 압축 및 압축 해제의 예제로 pbzip2를 볼 수 있습니다.
병렬 bz2 압축 및 압축 해제의 예제로 pbzip2를 볼 수 있습니다.
병렬 gzip도 있습니다. pigz. 병렬 압축은 수행하지만 병렬 압축은 수행하지 않습니다. 압축 형식은 병렬 압축 해제에 적합하지 않습니다. 그러나 당신은 a) 역사의 재설정과 함께 특별한 gzip 스트림을 준비하거나, b) 첫 번째 패스에서 gzip 파일에 인덱스를 만들 수 있습니다. 어느 쪽이든, 당신은 다음 병렬로 다른 부분을 읽을 수있는, 또는보다 효율적으로 임의 액세스 할 수 있습니다.
from https://stackoverflow.com/questions/14035736/bzip2-file-read-in-hadoop by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] mapreduce composite 키 샘플 - 원하는 출력을 표시하지 않습니다. (0) | 2019.07.31 |
---|---|
[HADOOP] hadoop에서 json을 읽는 사용자 입력 형식 (0) | 2019.07.31 |
[HADOOP] 웹 사이트에서 데이터 스트림을 읽도록 스파크 스트리밍을 시도하는 중 소켓은 무엇입니까? (0) | 2019.07.31 |
[HADOOP] 하이브는 distcp로 디렉토리 이동 프로세스를 덮어 씁니까? (0) | 2019.07.31 |
[HADOOP] 하이브의 로컬 CSV에 따옴표가있는 값을 묶은 테이블 내보내기 (0) | 2019.07.31 |