Spark SQL - 如何将数据帧写入文本文件



我正在使用Spark SQL读取镶木地板和编写镶木地板文件。

但在某些情况下,我需要将DataFrame写为文本文件而不是 Json 或 Parquet。

是否支持任何默认方法,或者我必须将该数据帧转换为RDD然后使用saveAsTextFile()方法?

使用 Databricks Spark-CSV,您可以直接保存到 CSV 文件,然后像这样从 CSV 文件加载

import org.apache.spark.sql.SQLContext
SQLContext sqlContext = new SQLContext(sc);
DataFrame df = sqlContext.read()
    .format("com.databricks.spark.csv")
    .option("inferSchema", "true")
    .option("header", "true")
    .load("cars.csv");
df.select("year", "model").write()
    .format("com.databricks.spark.csv")
    .option("header", "true")
    .option("codec", "org.apache.hadoop.io.compress.GzipCodec")
    .save("newcars.csv");
df.repartition(1).write.option("header", "true").csv("filename.csv")

相关内容

  • 没有找到相关文章

最新更新