所以人们在压缩包括我在内的烫伤性工作的产出方面一直存在问题。在谷歌搜索之后,我在某个不知名的论坛上得到了一个奇怪的答案,但没有什么适合人们复制和粘贴的需要。我想要一个输出像 Tsv ,但写入压缩输出。
Tsv
i7uaboj41#
无论如何,经过多次验证后,我成功地编写了一个tsvcompressed输出,它似乎可以完成这项工作(您仍然需要设置hadoop作业系统配置属性,即将compress设置为true,并将编解码器设置为合理的值,或者默认为crapy 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[_,_],_,_]] } }
zzoitvuj2#
我也有一个小项目,展示了如何从 Tsv . 字数已压缩。烫伤正在消退 null 到瀑布 TextDelimeted 禁用压缩的参数。
null
TextDelimeted
2条答案
按热度按时间i7uaboj41#
无论如何,经过多次验证后,我成功地编写了一个tsvcompressed输出,它似乎可以完成这项工作(您仍然需要设置hadoop作业系统配置属性,即将compress设置为true,并将编解码器设置为合理的值,或者默认为crapy deflate)
zzoitvuj2#
我也有一个小项目,展示了如何从
Tsv
. 字数已压缩。烫伤正在消退
null
到瀑布TextDelimeted
禁用压缩的参数。