Взаимодействие искровых конфигураций с входной структурой - PullRequest
0 голосов
/ 23 октября 2018

Spark имеет множество настраиваемых параметров.Здесь я хотел бы знать, какова оптимальная конфигурация при определенных ограничениях.

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

Конфигурация кластера

Мы установим уже установленный --executor-cores 5 из-за проведенного предыдущего исследования.Давайте установим другое ограничение, так что --executor-memory 60 Gb будет пороговым максимумом.Это может быть выражено как --executor-memory = min (60 Гб, EM).

Мы фиксируем количество узлов в нашем кластере на N_0, что неявно регулирует --num-executors (равно N_0 * average num-cores on node / 5).

Конфигурация данных

Мы представлены с данными в виде FN_0 -много текстовых файлов одинакового размера FS (прибл. 1Gb) загружен в RDD.Этот RDD изначально имеет номер партитуры PN, равный FN_0.Загрузка всех файлов в RDD приводит к записи RN = RDD.count().

Вопрос

Я хотел бы найти качественное выражение или оптимальное решение для --executor-memory,--num-executors и номер раздела PN для Входных данных -> Карта -> Фильтр -> Задание действия в терминах N_0,FN_0,FS,RN.Какова их взаимозависимость?

Я предполагаю, что номер раздела был бы идеальным при RN (приблизительно 100 000), так что у каждой записи есть своя задача, но это перемешивание будет масштабироваться астрономически.Я также был бы признателен за любые мысли относительно отношений между продуктом FN_0 * FS и --executor-memory.

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