Как экспортировать фрейм данных в csv в Scala?

Как экспортировать фрейм данных Spark в csv-файл с помощью Scala?

3 ответов


самый простой и лучший способ сделать это-использовать spark-csv библиотека. Вы можете проверить документацию по предоставленной ссылке и here является примером scala о том, как загружать и сохранять данные из/в DataFrame.

Код (СПАРК 1.4+):

dataFrame.write.format("com.databricks.spark.csv").save("myFile.csv")

Edit:

Spark создает файлы деталей при сохранении данных csv, если вы хотите объединить файлы деталей в один csv, обратитесь к следующий:

объединить выходную папку CSV Spark в один файл


выше решение экспортирует csv как несколько разделов. Я нашел другое решение zero323 в этой страница stackoverflow который экспортирует фрейм данных в один файл CSV.

df.coalesce(1)
  .write.format("com.databricks.spark.csv")
  .option("header", "true")
  .save("/your/location/mydata.csv")

в spark verions 2+ Вы можете просто использовать следующее;

df.write.csv("/your/location/data.csv")

Если вы хотите убедиться, что файлы больше не разделены, добавьте .coalesce(1) следующим образом:

df.coalesce(1).write.csv("/your/location/data.csv")