[HADOOP] 하둡 스트리밍 mapred.output.compress에도 불구하고 압축 파일을 생성 = TRUE
HADOOP하둡 스트리밍 mapred.output.compress에도 불구하고 압축 파일을 생성 = TRUE
나는이 같은 하둡 스트리밍 작업을 실행 :
hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-streaming.jar
-Dmapred.reduce.tasks=16
-Dmapred.output.compres=true
-Dmapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec
-input foo
-output bar
-mapper "python zot.py"
-reducer /bin/cat
나는 정확한 데이터가 포함 된 출력 디렉토리에 16 개 파일을받을 수 있나요하지만, 파일은 압축되지 않습니다 :
$ hadoop fs -get bar/part-00012
$ file part-00012
part-00012: ASCII text, with very long lines
추신. 도 참조 "감속기로 GZIP을 사용하여 손상된 데이터를 생성"
PPS. 이 폭스 바겐을위한 것입니다.
PPPS. 내가 하둡 FS의 -get, GZIP, 하둡 FS의 거려 하둡 FS -rm 16 번을 할 수있는 생각하지만, 이것은 매우 비 hadoopic 방법처럼 보인다.
해결법
-
==============================
1.당신의 mapred.output.compres 매개 변수에 오타가 있습니다. 당신이 당신의 작업 기록을 통해 보면 나는 그것이 꺼져 내기 할 것이다.
당신의 mapred.output.compres 매개 변수에 오타가 있습니다. 당신이 당신의 작업 기록을 통해 보면 나는 그것이 꺼져 내기 할 것이다.
또한 당신은 축소 단계를 모두 함께, 그건 그냥 파일을 catting 이후 것을 방지 할 수있다. 특별히 16 개 일부 파일이 필요하지 않는 한, 그것은 전용지도를 떠나보십시오.
hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-streaming.jar -Dmapred.reduce.tasks=0 -Dmapred.output.compress=true -Dmapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec -input foo -output bar -mapper "python zot.py"
from https://stackoverflow.com/questions/23767799/hadoop-streaming-produces-uncompressed-files-despite-mapred-output-compress-true by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Oozie 작업 제출 실패 (0) | 2019.10.06 |
---|---|
[HADOOP] 하둡은 - 어떻게 mapred.JobConf에서 TASKID를 추출? (0) | 2019.10.06 |
[HADOOP] 어떻게 그 디렉토리 아래에있는 모든 파일을 나열하지 않고 HDFS 명령을 사용하여 특정 디렉토리 패턴 소비 디스크 공간을 확인하는? (0) | 2019.10.06 |
[HADOOP] KMeans는 범주 형 변수 처리 (0) | 2019.10.06 |
[HADOOP] 하둡 정렬 키와 키 값을 변경 (0) | 2019.10.06 |