Как избежать/устранить перекос данных в Spark?

Выберите средство под причину skew: горячие ключи обрабатывают отдельно или разбивают salting, маленькую сторону join можно broadcast, а адаптивный движок — использовать для разбиения тяжёлых задач.

Короткий ответ

Что ответить на собеседовании

Выберите средство под причину skew: горячие ключи обрабатывают отдельно или разбивают salting, маленькую сторону join можно broadcast, а адаптивный движок — использовать для разбиения тяжёлых задач.

Подробный разбор

Ответ с пояснениями

Выберите средство под причину skew: горячие ключи обрабатывают отдельно или разбивают salting, маленькую сторону join можно broadcast, а адаптивный движок — использовать для разбиения тяжёлых задач.

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

Переразбиение по тому же горячему ключу само по себе проблему не решает. После исправления сравните объём данных, распределение длительности tasks, spill и итоговые контрольные показатели.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее