我正在使用Spark SQL
读取和写入Parquet文件。
但有些情况下,我需要将DataFrame
写入文本文件,而不是Json或Parquet格式。
是否支持任何默认方法或者我必须将DataFrame转换为RDD
,然后使用saveAsTextFile()
方法?
我正在使用Spark SQL
读取和写入Parquet文件。
但有些情况下,我需要将DataFrame
写入文本文件,而不是Json或Parquet格式。
是否支持任何默认方法或者我必须将DataFrame转换为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")
df.select("year", "model").write.format
而不是df.select("year", "model").write().format
吗?否则会出现TypeError: 'DataFrameWriter' object is not callable
错误。 - ajkldf.select("year", "model").write.format
。 - Radu Ionescu