我正在寻找有关如何在spark中创建分区的详细描述。我假设它是根据集群中可用内核的数量创建的。但举个例子,如果我有512MB的文件需要处理,这个文件将以64MB或128MB的块大小存储在我的存储器(可以是hdfs或s3存储桶)中。对于这种情况,我们可以假设我的集群核心是8。但是,当spark程序处理文件时,分区将如何在这个文件上发生。希望512MB的文件将被分成8个不同的分区,并在8个核心中执行。请对此提出建议。
我正在寻找有关如何在spark中创建分区的详细描述。我假设它是根据集群中可用内核的数量创建的。但举个例子,如果我有512MB的文件需要处理,这个文件将以64MB或128MB的块大小存储在我的存储器(可以是hdfs或s3存储桶)中。对于这种情况,我们可以假设我的集群核心是8。但是,当spark程序处理文件时,分区将如何在这个文件上发生。希望512MB的文件将被分成8个不同的分区,并在8个核心中执行。请对此提出建议。
1条答案
按热度按时间wd2eg0qa1#
我在filepartition.scala的源代码中找到了一些东西。分区的数量似乎与配置参数“maxsplitbytes”和“fileopencostinbytes”有关
}