Spark:压缩并保存到文本文件时出错

时间:2017-06-13 22:37:44

标签: scala apache-spark

我有一个scala Spark工作。我想使用Gzip压缩输出,然后saveToTextFile。

compressedEvents.saveAsTextFile(outputDirectory, org.apache.hadoop.io.compress.GzipCodec)

但是我收到以下错误:

[error] /var/lib/jenkins/workspace/producer-data-test/producer-data-test-build/src/main/scala/IpFromLogs.scala:46: object org.apache.hadoop.io.compress.GzipCodec is not a value
[error]     compressedEvents.saveAsTextFile(outputDirectory, org.apache.hadoop.io.compress.GzipCodec)
[error]                                                                                       ^
[error] one error found
[error] (compile:compileIncremental) Compilation failed

我尝试了相同的不同变体,但没有一个起作用。请帮忙!

1 个答案:

答案 0 :(得分:1)

正确的储蓄方式是

compressedEvents.saveAsTextFile(outputDirectory, classOf[GzipCodec])


在保存之前将配置设置为

sc.hadoopConfiguration.setClass(FileOutputFormat.COMPRESS_CODEC, classOf[GzipCodec], classOf[CompressionCodec])

并保存为

compressedEvents.saveAsTextFile(outputDirectory)