8
我使用Spark SQL
來閱讀鑲木地板和書寫鑲木地板文件。Spark SQL - 如何將DataFrame寫入文本文件?
但有些情況下,我需要將DataFrame
寫成文本文件而不是Json或Parquet。
是否有任何默認方法支持或我必須將該數據幀轉換爲RDD
然後使用saveAsTextFile()
方法?
我使用Spark SQL
來閱讀鑲木地板和書寫鑲木地板文件。Spark SQL - 如何將DataFrame寫入文本文件?
但有些情況下,我需要將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.select(「年」,「模式」)。write.format'而不是'df.select(「year」,「model」).write().format'?否則你得到一個'TypeError:'DataFrameWriter'對象不可調用'錯誤 – ajkl
這是爲Spark 1.3提供的官方示例。如果你使用Spark 1.4+,你應該按照你的建議使用'df.select(「year」,「model」)。write.format'。 –