我正在使用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")