我可以将 pyspark 数据框保存为哪些文件格式?

Posted

技术标签:

【中文标题】我可以将 pyspark 数据框保存为哪些文件格式?【英文标题】:Which file formats can I save a pyspark dataframe as? 【发布时间】:2018-09-04 13:58:27 【问题描述】:

我想将一个巨大的 pyspark 数据框保存为 Hive 表。我怎样才能有效地做到这一点?我希望使用 pyspark.sql.DataFrameWriter.saveAsTable 中的 saveAsTable(name, format=None, mode=None, partitionBy=None, **options)

# Let's say I have my dataframe, my_df
# Am I able to do the following?
my_df.saveAsTable('my_table')

我的问题是我可以使用哪些格式,我在哪里可以找到自己的信息? OrcSerDe 是一种选择吗?我还在学习这个。谢谢。

【问题讨论】:

你可以考虑压缩,因为你的数据框很大 【参考方案1】:

支持以下文件格式。

文字 csv ldap json 镶木地板 兽人

参考: https://github.com/apache/spark/blob/master/sql/core/src/main/scala/org/apache/spark/sql/DataFrameWriter.scala

【讨论】:

【参考方案2】:

所以我能够使用 pyspark.sql.DataFrameWriter 将 pyspark 数据帧写入压缩的 Hive 表。为此,我必须执行以下操作:

my_df.write.orc('my_file_path')

成功了。

https://spark.apache.org/docs/1.6.0/api/python/pyspark.sql.html#pyspark.sql.DataFrame.write

我正在使用 pyspark 1.6.0 顺便说一句

【讨论】:

以上是关于我可以将 pyspark 数据框保存为哪些文件格式?的主要内容,如果未能解决你的问题,请参考以下文章

将 pyspark 中的数据框保存为 csv 中的 hivetable

将pyspark数据框写入文本文件

如何使用pyspark将数据框保存在“.txt”文件中

如何以 xml 格式保存 pyspark sql DataFrame

无法将数据框保存到镶木地板 pyspark

将字典保存为 pyspark 数据框并加载它 - Python、Databricks