Для чего нужен broadcast join в Spark?

Broadcast join передаёт небольшую сторону соединения на executors, чтобы большая сторона могла соединяться локально без перераспределения всех своих строк по ключу.

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

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

Broadcast join передаёт небольшую сторону соединения на executors, чтобы большая сторона могла соединяться локально без перераспределения всех своих строк по ключу.

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

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

Broadcast join передаёт небольшую сторону соединения на executors, чтобы большая сторона могла соединяться локально без перераспределения всех своих строк по ключу.

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

Слишком большая broadcast-сторона вызывает нехватку памяти и сетевые затраты, а сам обмен тоже не бесплатен. Подсказка broadcast не гарантирует применимость ко всем типам join. Проверяйте план и фактический размер перед выбором стратегии.

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

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

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

Подробнее