减少pyspark中的 parquet 文件数量

ua4mk5z4  于 2022-12-03  发布在  Spark
关注(0)|答案(1)|浏览(154)

Parquet文件已在Azure Blob存储中创建,并使用数据库中的pyspark按日期分区,但在一个日期文件夹中收到了500个文件。我需要使用PySpark减少文件数量,如在一个日期文件夹中有10或15个文件。

df.write.format("parquet").mode("overwrite").partitionBy("Date").save(
    "/mnt/mydata.parquet"
)

我尝试使用coalesce

df.write.format("parquet").mode("overwrite").partitionBy("Date").coalesce(15).save(
    "/mnt/mydata.parquet"
)

但会抛出一个错误:
属性错误:'DataFrameWriter'对象没有'coalesce'属性
请帮帮忙。

xytpbqjk

xytpbqjk1#

coalescedataframe对象的一个方法:

df.coalesce(15).write.format("parquet").mode("overwrite").partitionBy("Date").save("/mnt/mydata.parquet")

如果你有一些内存错误,那么考虑使用repartition代替。

相关问题