Анализ производительности запросов

Это важно

Эта функция доступна в бета-версии. Администраторы рабочей области могут управлять доступом к этой функции на странице "Предварительные версии ". См. статью "Управление предварительными версиями Azure Databricks".

На этой странице описываются аналитические сведения о производительности, которые Azure Databricks возвращаются в журнале запросов и как выполнять их действия.

При выполнении запросов Azure Databricks может возвращать аналитические сведения, определяющие возможности повышения производительности.

Поиск аналитических сведений и рекомендаций для запроса

Аналитика отображается в журнале запросов и в профиле запроса. На панели сведений о запросе отображается сводка аналитических сведений, ранжированных по их предполагаемому эффекту на общую длительность задачи. На вкладке "Аналитика производительности " в профиле запроса отображаются полные сведения для каждого аналитических сведений.

Оптимизация с помощью кода Genie

Если запрос содержит аналитические сведения, доступные для действий, выберите "Оптимизировать" , чтобы открыть Код Genie. Для аналитических сведений, требующих изменения запроса, Genie Code перезаписывает запрос и представляет изменения для утверждения. Для аналитических сведений, связанных с изменениями таблицы или вычислений, Genie Code суммирует рекомендуемые действия в виде текста обычного языка.

Дополнительные сведения о работе с Genie Code см. в разделе Genie Code.

Аналитика оптимизации запросов

COVERAGE_FILTER_KEYS_CLUSTERING

Таблица кластеризована одним или несколькими ключами, которые не используются в фильтрах во время сканирования таблицы.

Рекомендации: Добавьте фильтры в ключи кластеризации, чтобы сократить чтение байтов.

COVERAGE_FILTER_KEYS_PARTITIONING

Таблица секционируется одним или несколькими ключами, которые не используются в фильтрах во время сканирования таблицы.

Рекомендации: Добавьте фильтры на ключи секционирования, чтобы уменьшить количество операций чтения байтов.

COVERAGE_PHOTON

Фотон не может ускорить эту операцию, поэтому запрос использует стандартный механизм среды выполнения.

Рекомендации: Просмотрите ограничения Photon и настройте запрос, чтобы использовать поддерживаемый путь выполнения.

EXPLODING_JOIN

Соединение создает значительно больше строк, чем оно считывает.

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

FLOW_FULL_RECOMPUTE

Поток выполняется как полный перекомпьютер.

Рекомендации: Переопределите запрос добавочной поддержки , чтобы уменьшить число операций чтения байтов.

REDUNDANT_AGGREGATION

Статистическая операция не изменила результат запроса.

Рекомендации: Удалите агрегат или примените ограничения первичного и внешнего ключа.

REDUNDANT_JOIN

Внешнее соединение не меняло количество строк на внешней стороне, и столбцы из объединённой таблицы не использовались.

Рекомендация: Удалите объединение или примените первичный ключ или уникальные ограничения.

SELECTIVE_JOIN

Соединение создает значительно меньше строк, чем оно считывает.

Рекомендации: Определите нужное подмножество результатов, а затем добавьте фильтры перед присоединением для уменьшения входных строк.

WIDE_PROJECTION

Запрос проектов всех столбцов из таблицы.

Рекомендация. Project только столбцы, необходимые для уменьшения количества операций чтения байтов.

Аналитика макета данных

AUTO_LIQUID_CLUSTERING

Таблица оптимизирована вручную и может воспользоваться автоматическим кластеризированием жидкости.

Recommendations:

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

Одновременная_Запись

Одновременные операции записи в таблицу вызывают конфликты , которые автоматически разрешаются или завершаются сбоем.

Рекомендации: Просмотрите журнал разностных данных, чтобы определить одновременные записи и настроить планирование, чтобы избежать конфликтов.

COVERAGE_STATS_DELTA

Статистика пропуска данных Delta отсутствует или неполна для фильтров файлов сканирования таблицы, и запрос использует фильтрацию по файлу.

Состояние статистики для каждого фильтра может быть одним из следующих:

  • Полный: Статистика доступна для всех фильтров.
  • Частичное: Статистика доступна для подмножества фильтров.
  • Недоступен: Статистика недоступна для любого фильтра.
  • Неиспользуемые: Не удается использовать статистику, так как фильтр преобразует тип данных.

Рекомендация.Сборстатистики разностной информации для уменьшения байтов чтения.

COVERAGE_STATS_OPTIMIZER

Статистика оптимизатора на основе затрат отсутствует или неполна, поэтому план запроса использует стандартные эвристики.

Рекомендация.Сборстатистики, чтобы оптимизатор мог создать лучший план.

DATA_SKEW

Данные распределяются неравномерно между вычислительными ресурсами.

Рекомендации: Просмотрите распределение данных, а затем используйте соль ключей или предварительную агрегирование для балансировки рабочей нагрузки.

Аналитика вычислительных ресурсов и вычислений

DATA_SPILL

Данные разлились на диск во время выполнения запроса, так как данные не помещались в память.

Рекомендации: Увеличьте размер хранилища для добавления памяти. Уменьшите количество строк, столбцов или размер больших столбцов (строк, массивов, карт, структур) для уменьшения использования памяти.

EXCESSIVE_QUEUE_TIME

Запрос ждал в очереди хранилища .

Рекомендации: Увеличьте максимальное количество кластеров в хранилище, чтобы сократить время очереди.

IO_THROTTLING

Запрос облачного хранилища регулируется поставщиком облачных служб.

Рекомендации: Обратитесь к администратору, чтобы запросить увеличенные ограничения на хранение от поставщика облачных служб.

Дополнительные ресурсы

Более широкий обзор рекомендаций по повышению производительности см. в комплексном руководстве по оптимизации databricks, Spark и Delta Lake Workloads.