Чем отличаются узкие и широкие трансформации в Spark?

Узкая зависимость позволяет обрабатывать ограниченные родительские partitions локально; широкая требует перераспределения данных между partitions, то есть shuffle.

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

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

Узкая зависимость позволяет обрабатывать ограниченные родительские partitions локально; широкая требует перераспределения данных между partitions, то есть shuffle.

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

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

Узкая зависимость позволяет обрабатывать ограниченные родительские partitions локально; широкая требует перераспределения данных между partitions, то есть shuffle.

Примеры узких операций — map и filter. Группировка по ключу и многие joins создают широкие зависимости. Shuffle требует сети, диска и синхронизации этапов, поэтому обычно дороже. Конкретный join может избежать shuffle при подходящем broadcast или уже совместимом распределении: классифицировать надо фактический план, а не только имя метода.

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

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

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

Подробнее