Spark:saveAsTextFile没有压缩

ffr*_*end 10 compression scala apache-spark

默认情况下,较新版本的Spark在保存文本文件时使用压缩.例如:

val txt = sc.parallelize(List("Hello", "world", "!"))
txt.saveAsTextFile("/path/to/output")
Run Code Online (Sandbox Code Playgroud)

将以.deflate格式创建文件.更改压缩算法非常容易,例如.gzip:

import org.apache.hadoop.io.compress._
val txt = sc.parallelize(List("Hello", "world", "!"))
txt.saveAsTextFile("/path/to/output", classOf[GzipCodec])
Run Code Online (Sandbox Code Playgroud)

但有没有办法将RDD保存为纯文本文件,即没有任何压缩

mrs*_*vas 9

我可以看到HDFS中文本文件,而无需使用此代码进行任何压缩

val conf = new SparkConf().setMaster("local").setAppName("App name")
val sc = new SparkContext(conf);
sc.hadoopConfiguration.set("mapred.output.compress", "false")
val txt = sc.parallelize(List("Hello", "world", "!"))
txt.saveAsTextFile("hdfs/path/to/save/file")
Run Code Online (Sandbox Code Playgroud)

您可以将所有与Hadoop相关的属性设置为hadoopConfigurationon sc

在Spark 1.5.2(scala 2.11)中验证了此代码。