Какие виды физических JOIN-ов существуют в Spark?

Spark использует broadcast hash, shuffled hash, sort-merge и nested loop; для некоторых условий возможен Cartesian product. Выбор зависит от ключей и размеров.

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

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

Spark использует broadcast hash, shuffled hash, sort-merge и nested loop; для некоторых условий возможен Cartesian product. Выбор зависит от ключей и размеров.

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

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

Spark использует broadcast hash, shuffled hash, sort-merge и nested loop; для некоторых условий возможен Cartesian product. Выбор зависит от ключей и размеров.

Broadcast hash подходит, когда одну сторону можно безопасно разослать executors. Sort-merge сопоставляет отсортированные партиции, shuffled hash строит локальные хеш-таблицы после распределения по ключу.

При отсутствии подходящего равенства может понадобиться nested loop. Посмотрите explain и фактический план: AQE способен изменить стратегию во время исполнения. Подсказка JOIN не гарантирует применение, если стратегия несовместима с условиями или типом соединения.

Источник: Документация Apache Kafka.

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

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

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

Подробнее