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


Включение статистики сканирования для запросов

Внимание

Эта функция в настоящее время доступна для предварительного ознакомления. Дополнительные условия использования для предварительных версий Microsoft Azure включают более юридические термины, применимые к функциям Azure, которые находятся в бета-версии, в предварительной версии или в противном случае еще не выпущены в общую доступность. Сведения об этой конкретной предварительной версии см. в статье Azure HDInsight в предварительной версии AKS. Для вопросов или предложений функций отправьте запрос на AskHDInsight с подробными сведениями и следуйте за нами для получения дополнительных обновлений в сообществе Azure HDInsight.

Часто команды данных требуются для изучения производительности или оптимизации запросов для улучшения использования ресурсов или удовлетворения бизнес-требований.

Добавлена новая возможность в Trino для HDInsight в AKS, которая позволяет пользователю записывать статистику сканирования для любого соединителя. Эта возможность обеспечивает более подробную информацию о профиле производительности запросов за пределами того, что доступно в статистике, созданной Trino.

Эту функцию можно включить с помощью свойстваcollect_raw_scan_statistics сеанса и следующей команды Trino:

SET SESSION collect_raw_scan_statistics=true

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

Совет

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

Примечание.

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

Как получить доступ к статистике сканирования

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

Запрос JSON

Вкладка Json на странице сведений о запросе предоставляет представление запроса JSON, которое включало статистику на каждом этапе, конвейер запроса. Если задано свойство сеанса, json содержит новое поле, которое вызывается scanStatsqueryStats.operatorSummaries[*]. Массив содержит один объект для каждого экземпляра оператора.

В следующем примере показан json для запроса с включенной статистикой проверки и использования hive connector статистики сканирования.

Примечание.

Сводка статистики сканирования включает splitInfo, заполненную соединителем. Это позволяет пользователям управлять информацией о хранилище, включаемое в пользовательские соединители.

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

Пользовательский интерфейс проверки статистики

Вы можете найти новую вкладку с именем Scan Stats на странице сведений о запросе, которая визуализирует статистику, созданную этой функцией, и предоставляет аналитические сведения о производительности разделения зерна для каждой рабочей роли. Страница позволяет пользователям просматривать профиль выполнения trino для запроса, например одновременные операции чтения с течением времени и пропускной способностью.

Снимок экрана: добавление состояния сканирования.

В следующем примере показана страница запроса с включенной статистикой сканирования.

Снимок экрана: вкладка состояния сканирования.

Использование средства ведения журнала Microsoft Query**

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