Как Spark определяет, что таблица достаточно 'маленькая' для broadcast join (верхняя граница)?

Spark сравнивает оценённый размер стороны join с spark.sql.autoBroadcastJoinThreshold. При AQE решение может уточняться по фактической статистике.

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

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

Spark сравнивает оценённый размер стороны join с spark.sql.autoBroadcastJoinThreshold. При AQE решение может уточняться по фактической статистике.

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

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

Spark сравнивает оценённый размер стороны join с spark.sql.autoBroadcastJoinThreshold. При AQE решение может уточняться по фактической статистике.

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

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

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

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

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

Подробнее