Соответствует ли размер спарк-раздела размеру блока HDFS или зависит от количества ядер, доступных для всех исполнителей? - PullRequest
0 голосов
/ 22 января 2020

Я просматриваю разделение искры и вижу разные ответы на вопрос. Соответствует ли размер спарк-раздела размеру блока HDFS или зависит от количества ядер, доступных для всех исполнителей? И производительность улучшается за счет перераспределения данных в случае искаженных данных? (Я предполагаю, что данные, относящиеся к одному и тому же ключу соединения, снова перетасовываются обратно одному исполнителю во время соединения). Пожалуйста, помогите мне понять это. Спасибо!

1 Ответ

0 голосов
/ 22 января 2020

Это действительно зависит от ваших данных, откуда вы читаете. Если вы читаете из HDFS , то один блок будет одним разделом. Но если вы читаете файл паркета , то один файл паркета является одним разделом, так как он не разделяется, поэтому в зависимости от блока в случае HDFS и количества файлов в случае паркета он создает разделы.

Что касается искаженных данных, то чем больше данных в одном разделе, тем больше времени требуется для завершения sh выполнения. Другие задачи будут выполнены быстро, так как у них меньше данных, поэтому ресурсы не используются должным образом. Поэтому всегда лучше правильно перераспределить перекошенные данные, чтобы все исполнители могли равномерно выполнить выполнение.

Здесь вы можете найти все доступные RDD и то, как они создают разделы: https://github.com/apache/spark/tree/master/core/src/main/scala/org/apache/spark/rdd

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