Поделиться через


Профиль запроса

Вы можете использовать профиль запроса для визуализации сведений о выполнении запроса. Профиль запроса помогает устранять узкие места производительности, возникающие при выполнении запроса. Например:

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

Требования

Чтобы просмотреть профиль запроса, необходимо либо быть владельцем запроса, либо иметь по крайней мере разрешение CAN MONITOR на хранилище SQL, выполняющего запрос.

Просмотр профиля запроса

Профиль запроса можно просмотреть из журнала запросов, выполнив следующие действия.

  1. Просмотр журнала запросов.

  2. Щелкните имя запроса. Откроется панель сведений о запросе справа от экрана.

    Простое представление сводки выполнения запроса

  3. Щелкните "Просмотреть профиль запроса".

    Примечание.

    Если отображается сообщение Профиль запроса недоступен, для этого запроса нет ни одного доступного профиля. Профиль запроса недоступен для запросов, выполняемых из кэша запросов. Чтобы обойти кэш запросов, внесите незначительные изменения в запрос, например измените или удалите LIMIT.

  4. Чтобы просмотреть профиль запроса в представлении графа (по умолчанию), щелкните представление Graph. Чтобы просмотреть профиль запроса в виде дерева, щелкните представление "Дерево".

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

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

    Примечание.

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

  6. В представлении графа можно щелкнуть оператор, чтобы отобразить подробные метрики. В представлении дерева можно щелкнуть имя оператора, чтобы просмотреть связанные сведения.

  7. Каждый узел помечается своей операцией. По умолчанию метрики для некоторых операций скрыты. Эти операции вряд ли будут причиной узких мест производительности. Чтобы просмотреть сведения обо всех операциях и просмотреть дополнительные метрики, щелкните Меню Кебаб в верхней части страницы и нажмите кнопку "Включить подробный режим". Самые распространенные операции:

    • Scan (Сканирование): данные считаны из источника данных и выведены в виде строк.
    • присоединение: строки из нескольких связей были объединены (чередуются) в один набор строк.
    • Union: строки из нескольких отношений, использующих одну схему, были объединены в один набор строк.
    • Shuffle (В случайном порядке): данные были перераспределены или повторно секционированы. Операции перетасовки являются дорогостоящими в отношении ресурсов, так как они перемещают данные между исполнителями в кластере.
    • Hash / Sort (Хэширование или сортировка): строки были сгруппированы по ключу. Также строки в каждой группе были вычислены с помощью агрегатной функции, такой как SUM, COUNT или MAX.
    • Filter (Фильтрация): входные данные фильтруются по критерию, например с помощью предложения WHERE, и возвращается подмножество строк.
    • (Reused) Exchange (Повторное использование, обмен): обмен операциями перетасовки или трансляций используется для повторного распределения данных между узлами кластера в зависимости от нужного секционирования.
    • лимит сбора: количество возвращаемых строк было усечено с помощью инструкции LIMIT.
    • Take Ordered And Project (Возврат упорядоченных строк и выполнение проекции): в результате запроса возвращены первые N строк.
  8. (Необязательно) Для запросов Databricks SQL можно также просмотреть профиль запроса в пользовательском интерфейсе Apache Spark. Меню Кебаб Щелкните меню кебаб в верхней части страницы и нажмите кнопку "Открыть в пользовательском интерфейсе Spark".

  9. Чтобы закрыть профиль запроса, нажмите кнопку "Скрыть профиль запроса" в нижней части панели.

Вы также можете получить доступ к профилю запроса в следующих частях пользовательского интерфейса:

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

    Открытие журнала запросов из выходных данных редактора

    Примечание.

    Если у вас есть новый редактор SQL (общедоступная предварительная версия), ссылка отображается в записной книжке.

  • Из записной книжки: если записная книжка подключена к хранилищу SQL или бессерверным вычислениям, вы можете получить доступ к профилю запроса с помощью ссылки под ячейкой, содержащей запрос. Нажмите кнопку "Просмотреть производительность ", чтобы открыть журнал выполнения. Щелкните инструкцию, чтобы открыть панель сведений о запросе.

    Выходные данные записной книжки журнала запросов

  • В пользовательском интерфейсе конвейера Delta Live Tables: вы можете получить доступ к истории запросов и профилю на вкладке История запросов в пользовательском интерфейсе конвейера. См. журнал запросов доступа для конвейеров delta Live Tables

  • В пользовательском интерфейсе заданий: это относится только к бессерверным заданиям. Сведения о том, как открыть профиль запроса из пользовательского интерфейса заданий, см. в статье "Запуск задания Azure Databricks с бессерверными вычислениями для рабочих процессов".

Просмотр сведений о профиле запроса

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

  1. Используйте кнопки времени, строки и пиковые кнопки памяти в верхней части представления профиля запроса, чтобы просмотреть метрики верхнего уровня в каждой категории.
  2. Щелкните оператор, чтобы просмотреть сведения об операции, например описание и метрики о продолжительности, используемой памяти, количестве и размере возвращаемых строк, а также любых выражениях группировки и агрегирования или выходных атрибутах.
  3. Чтобы закрыть сведения о операторе, нажмите кнопку "Назад к запросу".
  4. Чтобы закрыть профиль запроса, нажмите кнопку "Скрыть профиль запроса" в нижней части правой панели.

Совместное использование профиля запроса

Чтобы предоставить общий доступ к профилю запроса другому пользователю, сделайте следующее:

  1. Просмотр журнала запросов.
  2. Щелкните имя запроса.
  3. Чтобы предоставить общий доступ к запросу, у вас есть два варианта:
    • Если у другого пользователя есть разрешение CAN MANAGE для запроса, вы можете поделиться URL-адресом для профиля запроса. Нажмите Поделиться. URL-адрес скопируется в буфер обмена.
    • В противном случае, если другой пользователь не имеет разрешения CAN MANAGE или не является членом рабочей области, можно скачать профиль запроса в виде объекта JSON. Загрузить. Файл JSON будет загружен в локальную систему.

Импорт профиля запроса

Чтобы импортировать JSON для профиля запроса, выполните следующие действия:

  1. Просмотр журнала запросов.

  2. Щелкните меню kebab меню Kebab в правом верхнем углу и выберитеИмпорт профиля запроса (JSON).

  3. В браузере файлов выберите json-файл, который был предоставлен вам, и щелкните Открыть. Отправится файл JSON, и отобразится профиль запроса.

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

  4. Чтобы закрыть импортированный профиль запроса, нажмите X в верхней части страницы.

Следующие шаги