복붙노트

[HADOOP] Hadoop에서 Snappy를 컨테이너 형식으로 사용하는 방법

HADOOP

Hadoop에서 Snappy를 컨테이너 형식으로 사용하는 방법

맵을 압축하려면 맵을 사용하고 map-reduce o / p도 사용해야합니다. 또한, 분할 가능해야합니다.

내가 온라인으로 공부할 때 Snappy가 splittable o / p를 작성하도록하려면 컨테이너와 같은 형식으로 사용해야합니다.

그것에 대해 어떻게 생각하는지 제안 해 주시겠습니까? 온라인에서 몇 가지 예를 찾아 보았지만 좋지는 않았습니다. Hadoop v0.20.203을 사용하고 있습니다.

감사. Piyush

해결법

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

    1.산출을 위해

    산출을 위해

    conf.setOutputFormat (SequenceFileOutputFormat.class); SequenceFileOutputFormat.setOutputCompressionType (conf, CompressionType.BLOCK); SequenceFileOutputFormat.setCompressOutput (conf, true); conf.set ( "mapred.output.compression.codec", "org.apache.hadoop.io.compress.SnappyCodec");

    지도 출력용

    구성 conf = 새 구성 (); conf.setBoolean ( "mapred.compress.map.output", true); conf.set ( "mapred.map.output.compression.codec", "org.apache.hadoop.io.compress.SnappyCodec");

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

    2.Job 용으로 새 API OutputFormat을 설치하고 구성 용으로 설치하지 않습니다. 그런 다음 첫 번째 부분은 다음과 같습니다.

    Job 용으로 새 API OutputFormat을 설치하고 구성 용으로 설치하지 않습니다. 그런 다음 첫 번째 부분은 다음과 같습니다.

    Job job = new Job(conf);
    ...
    SequenceFileOutputFormat.setOutputCompressionType(job, CompressionType.BLOCK);
    SequenceFileOutputFormat.setCompressOutput(job, true);
    
    conf.set("mapred.output.compression.codec","org.apache.hadoop.io.compress.SnappyCodec");
    
  3. from https://stackoverflow.com/questions/10182591/how-to-use-snappy-in-hadoop-in-container-format by cc-by-sa and MIT license