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保存为纯文本文件,即没有任何压缩?
我可以看到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)中验证了此代码。
| 归档时间: |
|
| 查看次数: |
4936 次 |
| 最近记录: |