我使用 Spark 1.6.0 和 Scala。
我想将 DataFrame 保存为压缩的 CSV 格式。
这是我到目前为止所拥有的(假设我已经将 df
和 sc
作为 SparkContext
):
//set the conf to the codec I want
sc.getConf.set("spark.hadoop.mapred.output.compress", "true")
sc.getConf.set("spark.hadoop.mapred.output.compression.codec", "true")
sc.getConf.set("spark.hadoop.mapred.output.compression.codec", "org.apache.hadoop.io.compress.GzipCodec")
sc.getConf.set("spark.hadoop.mapred.output.compression.type", "BLOCK")
df.write
.format("com.databricks.spark.csv")
.save(my_directory)
输出不是 gz
格式。
最佳答案
此代码适用于 Spark 2.1,其中 .codec
不可用。
df.write
.format("com.databricks.spark.csv")
.option("codec", "org.apache.hadoop.io.compress.GzipCodec")
.save(my_directory)
对于 Spark 2.2,您可以使用此处描述的 df.write.csv(...,codec="gzip")
选项:https://spark.apache.org/docs/latest/api/python/pyspark.sql.html?highlight=codec
关于scala - 如何将 DataFrame 保存为压缩(gzipped)CSV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40163996/