Значение раздела по умолчанию в произвольном порядке - PullRequest
0 голосов
/ 02 ноября 2019

Значение по умолчанию для разделов в случайном порядке в спарк составляет 200 разделов. Хотелось бы уточнить, что это число на входные разделы? или во всех входных разделах число выходных разделов будет равно 200?

Я просмотрел несколько материалов и не смог найти ответ, который искал.

1 Ответ

0 голосов
/ 03 ноября 2019

Я не совсем уверен, понял ли я ваш вопрос, однако думаю, что могу дать вам лучший пример, который я нашел в Spark: Руководство по исчерпывающим инструкциям , чтобы понять количество разделов и соответствующих задач на каждом этапе

example code in Python

Для этого задания ниже приводится объяснение

step4.collect explain output

Это задание разбивается на следующие этапы и задачи:

  • Этап 1 с 8 задачами
  • Этап 2 с 8 задачами
  • Этап 3 с 6 задачами
  • Этап 4 с 5 заданиями
  • Этап 5 с 200 заданиями
  • Этап 6 с 1 заданием

    • Первые два этапа соответствуютк диапазону, который вы выполняете для создания ваших фреймов данных. По по умолчанию , когда вы создаете DataFrame с диапазоном , он имеет восемь разделов .

    • Следующим шагом являетсяпереразметка. Это изменяет количество разделов путем перетасовки данных. Эти кадры данных перемешиваются в шесть разделов и пять разделов, что соответствует количеству задач на этапах 3 и 4.

    • Этапы 3 и 4 выполняются на каждом из этих кадров данных и в концеЭтап представляет собой соединение (случайное перемешивание). Внезапно у нас есть 200 задач. Это из-за конфигурации Spark SQL. Значение по умолчанию spark.sql.shuffle.partitions равно 200 , что означает, что, когда во время выполнения выполняется случайное воспроизведение, по умолчанию выводятся 200 разделов случайного воспроизведения. Вы можете изменить это значение, и количество выходных разделов изменится.

    • Конечный результат объединяет эти разделы по отдельности, объединяет их в один раздел перед окончательной отправкой окончательного результата вдрайвер.

Еще одна заметка по spark.sql.shuffle.partitions из spark docs

spark.sql.shuffle.partitions 200 Configures the number of partitions to use when shuffling data **for joins or aggregations**.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...