将 pyspark 中的数据框保存为 csv 中的 hivetable
Posted
技术标签:
【中文标题】将 pyspark 中的数据框保存为 csv 中的 hivetable【英文标题】:Save a dataframe in pyspark as hivetable in csv 【发布时间】:2017-03-09 02:02:48 【问题描述】:我在pyspark
中有一个数据框,比如df
。
我想将数据框保存为 csv 中 hive 中的表格。我已经完成了如下操作
df.write.saveAsTable("testing.test")
但是 hive 表数据显示该表是 parquet 格式。我想另存为 CSV 表。我们怎样才能做到这一点。
仅供参考,我使用的是 spark 1.6
【问题讨论】:
【参考方案1】:您可以指定格式。
write.format('csv').mode(mode).options(options).saveAsTable(tableName)
即df.write.format('csv').saveAsTable('testing.test')。
https://spark.apache.org/docs/preview/api/python/_modules/pyspark/sql/readwriter.html
【讨论】:
我需要导入什么吗 我收到此错误 py4j.protocol.Py4JJavaError:调用 o65.saveAsTable 时发生错误。 :java.lang.ClassNotFoundException:找不到数据源:csv。请在spark-packages.org 找到包 您正在使用哪个版本的 spark ..code 将适用于 Spark 1.4+ 我使用的是 Spark 1.6。格式 csv 选项是否仅支持 Scala【参考方案2】:如果您使用的是 spark 1.6,那么您需要相同的 databricks 包。
这里是示例代码:-
df.coalesce(1).write.format("com.databricks.spark.csv").option("header", "true").save("testing.csv")
【讨论】:
以上是关于将 pyspark 中的数据框保存为 csv 中的 hivetable的主要内容,如果未能解决你的问题,请参考以下文章
如何将 CSV 值与 pyspark 数据框中的单元格中的值分别分隔为新列及其值