我在Azure Databricks中遇到了一个问题。在我的笔记本中,我正在执行简单的分区写入命令:
df.write.format('parquet').partitionBy("startYear").save(output_path,header=True)
我看到了这样的东西:
有人能解释一下为什么spark为每个分区创建这些额外的空文件以及如何禁用它吗?我尝试了不同的写入模式、不同的分区和Spark版本
gmol16391#
当我使用Blob存储时,我复制了上面的代码并得到了相同的结果。
有人能解释一下为什么spark为每个分区创建这些额外的空文件以及如何禁用它吗?Spark不会创建这些类型的文件。当我们通过分区创建Parquet文件时,Blob Storage会创建如上所述的Blob。如果您使用Blob存储,则无法避免这些问题。您可以使用ADLS存储来避免这些问题。
1条答案
按热度按时间gmol16391#
当我使用Blob存储时,我复制了上面的代码并得到了相同的结果。
有人能解释一下为什么spark为每个分区创建这些额外的空文件以及如何禁用它吗?
Spark不会创建这些类型的文件。当我们通过分区创建Parquet文件时,Blob Storage会创建如上所述的Blob。
如果您使用Blob存储,则无法避免这些问题。您可以使用ADLS存储来避免这些问题。