У меня есть 2 искровые приложения. Первое чтение CSV-файлов затем переводит его в паркет (простое чтение - фильтр - запись). Второй читает файлы паркета, вычисляет статистику и записывает результат в CSV-файлы. Мне пришлось выделить больше памяти для их запуска, в противном случае произойдет сбой из-за нехватки памяти.
Я заметил, что когда я уменьшаю количество исполнителей и ядер до 1 и 1, мне не нужно больше памяти для драйверов. Это похоже на то, что для управления несколькими исполнителями (в моем случае у меня 10 исполнителей с 5 ядрами) требуется память драйвера. Если я настрою 10 исполнителей с 1 ядром или 1 исполнитель с 5 ядрами, это приведет к сбою, например, во время чтения паркета.
Какое правильное объяснение?