pyspark write.parquet() 创建一个文件夹而不是 parquet 文件

Posted

技术标签:

【中文标题】pyspark write.parquet() 创建一个文件夹而不是 parquet 文件【英文标题】:pyspark write.parquet() creates a folder instead of a parquet file 【发布时间】:2020-08-26 04:03:00 【问题描述】:

我尝试将 pyspark 数据帧写入这样的镶木地板

df.write.parquet("temp.parquet", mode="overwrite")

但它会创建一个名为 temp.parquet 的空文件夹,而不是 parquet 文件。什么可能导致这个问题?

【问题讨论】:

这不是故意的问题。 这是预期行为。 parquet 文件将写入您的 temp.parquet 文件夹中 @RahulRaut 我检查了文件夹是空的,那我如何找到镶木地板文件? 只是为了验证,您是否尝试使用 .show() 或 collect() 将数据框中的数据可视化。尝试使用完整路径 df.write.parquet("/tmp/temp.parquet", mode="overwrite") 您的df 似乎是空的。请使用df.show()检查df中的数据 【参考方案1】:

我从here下载了hadoop.dll并将其添加到System32文件夹中,问题就解决了。

【讨论】:

以上是关于pyspark write.parquet() 创建一个文件夹而不是 parquet 文件的主要内容,如果未能解决你的问题,请参考以下文章

将 Pyspark DataFrame 写入 Parquet 时出现 Py4JJavaError

从目录读取镶木地板文件时,pyspark不保存

如何在pyspark中更改DataFrame的hdfs块大小

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

将小 PySpark DataFrame 写入镶木地板时出现内存错误

DataFrame.write.parquet() 只使用一个执行器,不扩展