use*_*795 -2 apache-spark pyspark azure-blob-storage databricks
已使用 databricks 中的 pyspark 在 Azure Blob 存储中创建了按日期分区的 Parquet 文件,但在一个日期文件夹中收到了如此多的文件,例如 500 个文件。我需要使用 PySpark 减少文件数量,例如一个日期文件夹中的 10 或 15 个文件。
df.write.format("parquet").mode("overwrite").partitionBy("Date").save(
"/mnt/mydata.parquet"
)
Run Code Online (Sandbox Code Playgroud)
我尝试过coalesce:
df.write.format("parquet").mode("overwrite").partitionBy("Date").coalesce(15).save(
"/mnt/mydata.parquet"
)
Run Code Online (Sandbox Code Playgroud)
但会抛出错误:
AttributeError:“DataFrameWriter”对象没有属性“coalesce”
请帮忙。
coalesce是对象的方法dataframe:
df.coalesce(15).write.format("parquet").mode("overwrite").partitionBy("Date").save("/mnt/mydata.parquet")
Run Code Online (Sandbox Code Playgroud)
如果您遇到内存错误,请考虑使用 arepartition代替。
| 归档时间: |
|
| 查看次数: |
1004 次 |
| 最近记录: |