다음을 통해 공유


쿼리에 대한 검사 통계 사용

참고 항목

2025년 1월 31일에 Azure HDInsight on AKS가 사용 중지됩니다. 2025년 1월 31일 이전에 워크로드가 갑자기 종료되지 않도록 워크로드를 Microsoft Fabric 또는 동등한 Azure 제품으로 마이그레이션해야 합니다. 구독의 나머지 클러스터는 호스트에서 중지되고 제거됩니다.

사용 중지 날짜까지 기본 지원만 사용할 수 있습니다.

Important

이 기능은 현지 미리 보기로 제공됩니다. Microsoft Azure 미리 보기에 대한 보충 사용 약관에는 베타 또는 미리 보기로 제공되거나 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 더 많은 약관이 포함되어 있습니다. 이 특정 미리 보기에 대한 자세한 내용은 Azure HDInsight on AKS 미리 보기 정보를 참조하세요. 질문이나 기능 제안이 있는 경우 AskHDInsight에서 세부 정보와 함께 요청을 제출하고 Azure HDInsight 커뮤니티에서 더 많은 업데이트를 확인하세요.

데이터 팀은 성능을 조사하거나 쿼리를 최적화하여 리소스 사용률을 향상하거나 비즈니스 요구 사항을 충족해야 합니다.

AKS의 HDInsight용 Trino에는 사용자가 모든 커넥터에 대한 검사 통계를 캡처할 수 있는 새로운 기능이 추가되었습니다. 이 기능은 Trino에서 생성한 통계에서 사용할 수 있는 것 이상으로 쿼리 성능 프로필에 대한 더 깊은 인사이트를 제공합니다.

세션 속성 collect_raw_scan_statistics를 사용하고 다음 Trino 명령을 사용하여 이 기능을 사용하도록 설정할 수 있습니다.

SET SESSION collect_raw_scan_statistics=true

기능을 사용하도록 설정하고 나면 TableScanOperator, ScanFilterAndProject 등과 같은 쿼리의 소스 연산자는 데이터 검사에 대한 통계를 가지며, 세분성은 파이프라인의 연산자 인스턴스별로 결정됩니다.

검사 통계는 클러스터 또는 쿼리가 CPU 제한을 받지 않고 쿼리 읽기 성능을 조사해야 할 때 병목 상태를 식별하는 데 도움이 됩니다. 또한 분할 수준 관점에서 쿼리의 실행 프로필을 이해하는 데 도움이 됩니다.

참고 항목

현재 작업자당 캡처된 분할 수는 생성된 데이터의 크기 제약 조건으로 인해 1000개로 제한됩니다. 쿼리의 작업자당 분할 수가 이 제한을 초과하면 가장 오래 실행되는 상위 1000개의 분할이 반환됩니다.

검사 통계에 액세스하는 방법

세션 속성이 설정되면 세션의 후속 쿼리는 가능할 때마다 소스 연산자로부터 통계를 캡처하기 시작합니다. 사용자가 쿼리에 대해 생성된 검사 통계를 이용하고 분석할 수 있는 여러 가지 방법이 있습니다.

Json 쿼리

쿼리 세부 정보 페이지의 Json 탭에서는 쿼리의 모든 단계, 파이프라인에 대한 통계를 포함하는 쿼리의 JSON 표현을 제공합니다. 세션 속성이 설정되면 json에는 queryStats.operatorSummaries[*]scanStats라는 새 필드가 포함됩니다. 배열에는 연산자 인스턴스당 하나의 개체가 포함됩니다.

다음 예제에서는 활성화된 hive connector 및 검사 통계를 사용하는 쿼리의 json을 보여 줍니다.

참고 항목

검사 통계 요약에는 커넥터로 채워진 splitInfo가 포함됩니다. 이를 통해 사용자는 사용자 지정 커넥터에 포함할 저장소에 대한 정보를 제어할 수 있습니다.

쿼리 성능 요약을 보여 주는 스크린샷.

검사 통계 UI

이 기능으로 생성된 통계를 시각화하고 각 작업자의 분할된 조직 성능의 인사이트를 제공하는 쿼리 세부 정보 페이지에서 Scan Stats라는 새 탭을 찾을 수 있습니다. 이 페이지를 통해 사용자는 시간 및 처리량에 따른 동시 읽기와 같은 정보를 사용하여 쿼리에 대한 Trino의 실행 프로필을 볼 수 있습니다.

검사 상태 추가를 보여 주는 스크린샷.

다음 예제에서는 검사 통계가 활성화된 쿼리 페이지를 보여 줍니다.

검사 상태 탭을 보여 주는 스크린샷.

Microsoft 쿼리 로거 사용**

Microsoft 쿼리 로거에서는 이 기능을 기본적으로 지원합니다. 이 기능을 사용하도록 설정하면 쿼리 로거 플러그 인은 쿼리 이벤트 테이블과 함께 operatorstats라는 테이블을 채웁니다. 이 테이블은 모든 연산자 인스턴스가 각 쿼리에 대해 하나의 행이 되도록 비정규화됩니다.