首页 > 解决方案 > Spark 重新分区如何对输入文件分区起作用?

问题描述

我有两个问题:

  1. 我们可以在调用中设置coalesce比 HDFS 块大小更少的分区吗?例如,假设我的文件大小为 1 GB,HDFS 块大小为 128MB,我可以这样做coalesce(1)吗?

  2. 众所周知,HDFS 上的输入文件是根据块大小进行物理分割的。当我们重新分区或更改并行性时,Spark 是否会进一步拆分数据(物理上)?

标签: apache-spark

解决方案


例如,假设我的文件大小为 1 GB,hdfs 块大小为 128MB。我可以合并(1)吗?

是的,您可以合并到单个文件并将其写入外部文件系统(至少使用 EMRFS)

当我们重新分区或更改并行性时,火花是否会进一步拆分数据(物理上)?

repartition将数据分割成独立于原始输入文件的分区的分区。


推荐阅读