Spill в Spark — перенос промежуточных данных из оперативной памяти на диск, когда сортировке, агрегации или другой операции не хватает выделенной памяти.
Что знаешь о spill в Spark?
Spill в Spark — перенос промежуточных данных из оперативной памяти на диск, когда сортировке, агрегации или другой операции не хватает выделенной памяти.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Spill в Spark — перенос промежуточных данных из оперативной памяти на диск, когда сортировке, агрегации или другой операции не хватает выделенной памяти.
Spill позволяет задаче продолжить работу, но увеличивает дисковый ввод-вывод и время выполнения. Проверьте показатели задач в Spark UI: объём spill, длительность, размер shuffle и различия между партициями.
Частые причины — перекос ключей, слишком крупные партиции и тяжёлые промежуточные структуры. Помогают уменьшение объёма данных, настройка разбиения и изменение алгоритма. Простое увеличение памяти не всегда устраняет причину, особенно при сильном skew.