복붙노트

[HADOOP] 감속기로 GZIP을 사용하여 손상된 데이터를 생성

HADOOP

감속기로 GZIP을 사용하여 손상된 데이터를 생성

언제이 같은 스트리밍 하둡을 실행합니다 :

hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-streaming.jar 
       -Dmapred.reduce.tasks=16
       -input foo
       -output bar
       -mapper "python zot.py"
       -reducer gzip

나는, 아아, 부패 출력 디렉토리 (16 개) 파일을 가져 :

$ hadoop fs -get bar/part-00012
$ file part-00012
gzip compressed data, from Unix
$ cat part-00012 | gunzip >/dev/null

gzip: stdin: invalid compressed data--format violated

나는 고양이 부분-00012의 출력을 검사 | 나는 다소 잘하고 아주 잘못 보이는 부분을 본 후 풀어서는 사망 시각 해제 (gunzip).

추신. 나는 내 데이터 세트가 진정한 = mapred.output.compress를 사용하여 적은 수의 gzip으로 압축 된 파일로 분할 할 수 있습니다 알고 있습니다.

PPS. 이 폭스 바겐을위한 것입니다.

해결법

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

    1.당신은 jobconf 설정에서 직접 output.compress 사용할 수 있습니다. gzip을 통해 보낼 필요가 없습니다. 다른 질문에 대한 내 대답을 참조하십시오.

    당신은 jobconf 설정에서 직접 output.compress 사용할 수 있습니다. gzip을 통해 보낼 필요가 없습니다. 다른 질문에 대한 내 대답을 참조하십시오.

  2. from https://stackoverflow.com/questions/23767971/using-gzip-as-a-reducer-produces-corrupt-data by cc-by-sa and MIT license