По умолчанию раздел создается для каждого раздела HDFS, который по умолчанию составляет 64 МБ (из Руководство по программированию искры ).
Можно передать еще один параметр defaultMinPartitions
который отменяет минимальное количество перегородок, создающих искры. Если вы не переопределите это значение, тогда искра создаст как минимум столько разделов, сколько spark.default.parallelism
.
Поскольку предполагается spark.default.parallelism
количество ядер на всех компьютерах вашего кластера I что в вашем случае будет создано не менее 3 разделов.
Вы также можете repartition
или coalesce
RDD изменить количество разделов, что, в свою очередь, влияет на общую доступность параллелизма.
default.parallelism
(создано 3 раздела), а файл данных - 10 МБ (один блок на HDFS), сколько данных будут содержать разделы Spark? Будет ли это: 1. Разделен на 3 равные части (по 3.3 МБ каждый) и отправляется исполнителям. 2. Не разделен (P1 = 10 МБ, P2 = P3 = 0 МБ) и выполняется на том же узле из-за локализации данных. I> 3. Случайное перемещение данных во всех трех разделах. – CᴴᴀZ 26 October 2016 в 15:13defaultMinPartitions
, тогда он создаст как минимум столько же разделов какspark.default.parallelism
, который, как предполагается, является числом ядер в кластере. Так он будет создаватьpartition=HDFS partition
или=number of cores
? – Explorer 8 March 2017 в 17:42