为什么创建了这么多镶木地板文件?我们不能限制镶木地板输出文件吗?



为什么在sparkSql中创建这么多Parquet文件?我们可以不限制镶木地板输出文件吗?

通常,

当您写入 Parquet 时,它将在每个分区写入一个(或多个,具体取决于各种选项)文件。如果要减少文件数,可以在写入之前在数据帧上调用 mergeesce。例如:

df.coalesce(20).write.parquet(filepath)

当然,如果您有各种选项(例如分区),文件数量可能会急剧增加。

另请注意,如果合并到非常少量的分区,这可能会变得非常慢(这既是因为在分区之间复制数据,也是因为如果您使用足够小的数字,并行度会降低)。如果单个分区中的数据太大(合并分区时,分区自然会变大),也可能会收到 OOM 错误。

需要注意的几点:

  • saveAsParquetFile 自 1.4.0 版起已停用。请改用 write.parquet(path)。
  • 根据您的使用案例,在镶木地板文件上搜索特定字符串可能不是最有效的方法。

相关内容

  • 没有找到相关文章

最新更新