복붙노트

[HADOOP] 압축 출력 스케일링 / 캐스 케이 딩 Tsv

HADOOP

압축 출력 스케일링 / 캐스 케이 딩 Tsv

그래서 사람들은 자신을 포함하여 확장 작업의 결과를 압축하는 데 문제가 있습니다. 인터넷 검색 후 어딘가 모호한 포럼에서 답이 이상한 것으로 보였지만 사람들은 복사하여 붙여 넣기 요구에 적합하지 않습니다.

Tsv와 같은 출력을 원하지만 압축 출력을 씁니다.

해결법

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

    1.어쨌든 많은 어려움을 겪은 후에는 작업을 수행하는 것처럼 보이는 TsvCompressed 출력을 작성할 수있었습니다 (여전히 hadoop 작업 시스템 구성 속성을 설정해야합니다. 즉, 압축을 true로 설정하고 코덱을 합리적인 것으로 설정하거나 기본적으로 crappy deflate)

    어쨌든 많은 어려움을 겪은 후에는 작업을 수행하는 것처럼 보이는 TsvCompressed 출력을 작성할 수있었습니다 (여전히 hadoop 작업 시스템 구성 속성을 설정해야합니다. 즉, 압축을 true로 설정하고 코덱을 합리적인 것으로 설정하거나 기본적으로 crappy deflate)

    import com.twitter.scalding._
    import cascading.tuple.Fields
    import cascading.scheme.local
    import cascading.scheme.hadoop.{TextLine, TextDelimited}
    import cascading.scheme.Scheme
    import org.apache.hadoop.mapred.{OutputCollector, RecordReader, JobConf}
    
    case class TsvCompressed(p: String) extends FixedPathSource(p) with DelimitedSchemeCompressed
    
    trait DelimitedSchemeCompressed extends Source {
      val types: Array[Class[_]] = null
    
      override def localScheme = new local.TextDelimited(Fields.ALL, false, false, "\t", types)
    
      override def hdfsScheme = {
        val temp = new TextDelimited(Fields.ALL, false, false, "\t", types)
        temp.setSinkCompression(TextLine.Compress.ENABLE)
        temp.asInstanceOf[Scheme[JobConf,RecordReader[_,_],OutputCollector[_,_],_,_]]
      }
    }
    
  2. ==============================

    2.또한 Tsv에서 압축 출력을 얻는 방법을 보여주는 작은 프로젝트가 있습니다. WordCount-Compressed.

    또한 Tsv에서 압축 출력을 얻는 방법을 보여주는 작은 프로젝트가 있습니다. WordCount-Compressed.

    스케일링이 압축을 사용하지 않는 Cascading TextDelimeted 매개 변수로 널을 설정했습니다.

  3. from https://stackoverflow.com/questions/23939577/compress-output-scalding-cascading-tsvcompressed by cc-by-sa and MIT license