簡體   English   中英

Spark:saveAsTextFile沒有壓縮

[英]Spark: saveAsTextFile without compression

默認情況下,較新版本的Spark在保存文本文件時使用壓縮。 例如:

val txt = sc.parallelize(List("Hello", "world", "!"))
txt.saveAsTextFile("/path/to/output")

將以.deflate格式創建文件。 更改壓縮算法非常容易,例如.gzip

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

但有沒有辦法將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")

您可以在sc hadoopConfiguration所有Hadoop相關屬性設置為hadoopConfiguration

在Spark 1.5.2(scala 2.11)中驗證了此代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM