如何将 PySpark 中的表数据框导出到 csv?

新手上路,请多包涵

我正在使用 Spark 1.3.1 (PySpark) 并且我已经使用 SQL 查询生成了一个表。我现在有一个对象是 DataFrame 。我想将这个 DataFrame 对象(我称之为“表”)导出到一个 csv 文件,这样我就可以操作它并绘制列。如何将 DataFrame “表”导出到 csv 文件?

谢谢!

原文由 PyRsquared 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 852
2 个回答

如果数据框适合驱动程序内存并且您想保存到本地文件系统,您可以使用 toPandas 方法将 Spark DataFrame 转换为本地 Pandas DataFrame ,然后只需使用 to_csv

 df.toPandas().to_csv('mycsv.csv')

否则你可以使用 spark-csv

  • 火花 1.3
   df.save('mycsv.csv', 'com.databricks.spark.csv')

  • 火花 1.4+
   df.write.format('com.databricks.spark.csv').save('mycsv.csv')

在 Spark 2.0+ 中,您可以直接使用 csv 数据源:

 df.write.csv('mycsv.csv')

原文由 zero323 发布,翻译遵循 CC BY-SA 3.0 许可协议

对于 Apache Spark 2+,为了将数据帧保存到单个 csv 文件中。使用以下命令

query.repartition(1).write.csv("cc_out.csv", sep='|')

这里 1 表示我只需要一个csv分区。你可以根据你的要求改变它。

原文由 Hafiz Muhammad Shafiq 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题