Выбор ответа Senior Spark обновлено

Что делает AQE

Вопрос

Что из перечисленного делает adaptive query execution (AQE) в Spark 3?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: По статистике выполненных стадий склеивает мелкие shuffle-партиции, меняет джойн на broadcast, режет skew. AQE переоптимизирует план во время выполнения, когда известны реальные размеры данных после shuffle: coalesce партиций, смена стратегии джойна, skew join.

Варианты ответа

  1. Автоматически строит индексы на колонках джойна по статистике предыдущих запросов к таблице
  2. Переписывает Python UDF во встроенные функции, если находит эквивалентное выражение Catalyst
  3. По статистике выполненных стадий склеивает мелкие shuffle-партиции, меняет джойн на broadcast, режет skewправильный ответ
  4. Подбирает число executors под нагрузку каждой стадии и сразу освобождает лишние после завершения shuffle

Разбор

AQE переоптимизирует план во время выполнения, когда известны реальные размеры данных после shuffle: coalesce партиций, смена стратегии джойна, skew join. Индексов Spark не создаёт. UDF он не переписывает. Число executors регулирует dynamic allocation, это отдельный механизм.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.