我有一个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
我尝试了相同的不同变体,但没有一个起作用。请帮忙!
答案 0 :(得分:1)
正确的储蓄方式是
compressedEvents.saveAsTextFile(outputDirectory, classOf[GzipCodec])
或
在保存之前将配置设置为
sc.hadoopConfiguration.setClass(FileOutputFormat.COMPRESS_CODEC, classOf[GzipCodec], classOf[CompressionCodec])
并保存为
compressedEvents.saveAsTextFile(outputDirectory)