2014-04-05 4 views
0

나는 gzipped로 클라이언트로부터 많은 양의 데이터 파일을 가져 왔습니다. 그게 splittable하고 내가 앞서 가지고 강렬한 분석을 위해 바람직합니다 .bzip2에서 그들을 원한다.gzip을 HDFS/Hadoop을 통해 bzip2로 변환하는 방법

전체 공개 : 저는 하이브를 사용하며 일반적으로 매우 기본적인 기본 작업 외에는 아직 수행하지 않았습니다. 파이프 명령을 사용하려면

내 간단한 시도가 나타납니다에 하지만 앞서 변환의 12TB을 위해 2017 년 완료 할 작업에 대한 마스터 노드의 단일 CPU를 사용하고 ...

hadoop fs -cat /rawdata/mcube/MarketingCube.csv.gz | gzip -dc | bzip2 > cube.bz2 

MapReduce 작업을 만드는 방법에 대한 모든 정보를 이해하면 이번 주말에 반복해서 나올 모든 파일에 대해이 작업을 수행 할 수 있습니다. 감사.

+0

[Splittable Gzip] (https://issues.apache.org/jira/browse/HADOOP-7076)은 gzip에 일부 의사 분할을 추가합니다. [Hadoop 용 gzip splittable 만들기] (http : //niels.basjes .nl/splittable-gzip) –

+0

Remus, 고맙지 만 그는 github에서 "Hadoop 1.x는 아직 지원되지 않습니다"라고 말했습니다. 다른 옵션이 필요합니다. https://github.com/nielsbasjes/splittablegzip –

답변

0

PailFile 형식을 https://github.com/nathanmarz/dfs-datastores으로 사용하면 gzipped 파일을 HDFS 블록 크기에 맞는 더 작은 청크에 저장할 수 있습니다.

파일을 gzipped 경우에도 이러한 방식으로 하이브 또는 기타 작업을 다양한 분할에서 병렬 처리 할 수 ​​있습니다.

+0

http://www.slideshare.net/Hadoop_Summit/kamat-singh-june27425pmroom210cv2 - 슬라이드 7을 참조하십시오. PailFile이 본질적으로 사용할 수없는 부분 분할을 만드는 방법을 이해하지 못합니다. 분리형. –