쿼리 프로필

쿼리 프로필을 사용하여 쿼리 실행의 세부 정보를 시각화할 수 있습니다. 쿼리 프로필은 쿼리 실행 중 성능 병목 상태 문제를 해결하는 데 도움이 됩니다. 예시:

  • 각 쿼리 작업 및 관련 메트릭(예: 소요 시간, 처리된 행 수, 처리된 행 및 메모리 사용량)을 시각화할 수 있습니다.
  • 쿼리 실행의 가장 느린 부분을 한 눈에 식별하고 쿼리 수정의 영향을 평가할 수 있습니다.
  • 조인 폭발 또는 전체 테이블 검색과 같은 SQL 문의 일반적인 실수를 발견하고 수정할 수 있습니다.

Important

SQL 쿼리에 대한 쿼리 기록에 기록된 시간은 SQL 웨어하우스가 실제로 쿼리를 실행하는 데 소요되는 시간입니다. 내부 큐 또는 데이터 업로드 및 다운로드 프로세스와 관련된 추가 시간 등 쿼리 실행 준비와 관련된 추가 오버헤드는 기록하지 않습니다.

요구 사항

쿼리 프로필을 보려면 쿼리의 소유자이거나 쿼리를 실행한 SQL 웨어하우스에 대한 CAN MANAGE 권한이 있어야 합니다.

쿼리 프로필 보기

SQL 편집기 또는 Notebook에서 쿼리를 실행한 후 출력 맨 아래에 있는 경과된 시간을 클릭하여 쿼리 프로필을 열 수 있습니다.

편집기 또는 Notebook 출력에서 쿼리 기록 열기

다음과 같이 쿼리 기록에서 쿼리 프로필을 볼 수도 있습니다.

  1. 쿼리 기록을 봅니다.

  2. 쿼리의 이름을 클릭합니다. 쿼리 메트릭의 개요가 나타납니다.

    쿼리 실행 요약 단순 보기

  3. 쿼리 프로필 보기를 클릭합니다.

    참고 항목

    쿼리 프로필을 사용할 수 없음이 표시될 경우 이 쿼리에 사용할 수 있는 프로필이 없습니다. 쿼리 캐시에서 실행되는 쿼리에는 쿼리 프로필을 사용할 수 없습니다. 쿼리 캐시를 회피하려면 LIMIT를 변경하거나 제거하는 것과 같이 쿼리를 약간 변경합니다.

  4. 그래프 보기(기본값)에서 쿼리 프로필을 보려면 그래프 보기를 클릭합니다. 쿼리 프로필을 트리로 보려면 트리 보기를 클릭합니다.

    • 그래프 보기는 노드 간에 데이터가 흐르는 방식을 시각화하는 데 최적화되어 있습니다.
    • 트리 뷰는 가장 오래 실행 중인 연산자 식별과 같이, 쿼리 성능 문제를 신속하게 찾는 데 최적화되어 있습니다.
  5. 그래프 보기 또는 트리 보기에서 페이지 맨 위에 있는 탭 중 하나를 클릭하여 각 쿼리 작업에 대한 세부 정보를 볼 수 있습니다.

    • 소요된 시간: 각 작업에 대한 모든 태스크에서 소요된 실행 시간의 합계입니다.
    • : 각 쿼리 작업의 영향을 받는 행의 수와 크기입니다.
    • 최대 메모리: 사용된 각 쿼리 작업의 최대 메모리입니다.

    참고 항목

    일부 비Photon 작업은 그룹으로 실행되고 공통 메트릭을 공유합니다. 이 경우 모든 하위 작업은 지정된 메트릭에 대한 상위 작업과 동일한 값을 갖습니다.

  6. 그래프 보기에서 태스크에 하위 태스크가 있는 경우 노드를 클릭하여 세부 정보를 표시합니다. 트리 뷰에서 클릭하여 > 확장할 수 있습니다.

  7. 각 태스크의 작업이 표시됩니다. 기본적으로 일부 작업에 대한 태스크 및 메트릭은 숨겨집니다. 이러한 작업은 성능 병목 상태의 원인이 될 가능성이 낮습니다. 모든 작업에 대한 정보를 확인하고 추가 메트릭을 보려면 페이지 위쪽을 클릭한 세로 줄임표 다음 자세한 정보 표시 모드 사용을 클릭합니다. 가장 일반적인 작업은 다음과 같습니다.

    • 검사: 데이터 원본에서 데이터를 읽고 행으로 출력했습니다.
    • 조인: 여러 관계의 행을 단일 행 세트로 결합(인터리브)했습니다.
    • 공용 구조체: 동일한 스키마를 사용하는 여러 관계의 행이 단일 행 세트로 연결되었습니다.
    • 순서 섞기: 데이터가 재배포되거나 다시 분할되었습니다. 순서 섞기 작업은 클러스터의 실행기 간에 데이터를 이동하기 때문에 리소스와 관련하여 비용이 많이 듭니다.
    • 해시/정렬: 행은 키별로 그룹화되고 각 그룹 내에서 SUM, COUNT 또는 MAX와 같은 집계 함수를 사용하여 평가되었습니다.
    • 필터: WHERE 절과 같은 기준에 따라 입력이 필터링되고 행의 하위 집합이 반환됩니다.
    • (재사용) 교환: 순서 섞기 또는 브로드캐스트 교환은 원하는 분할을 기반으로 클러스터 노드 간에 데이터를 재배포하는 데 사용됩니다.
    • 수집 제한: LIMIT 문을 사용하여 반환된 행 수가 잘렸습니다.
    • 순서 지정 및 프로젝트: 쿼리 결과의 상위 N개 행이 반환되었습니다.
  8. Apache Spark UI에서 쿼리 프로필을 보려면 페이지 위쪽을 클릭한 세로 줄임표 다음 Spark UI에서 열기를 클릭합니다.

  9. 가져온 쿼리 프로필을 닫으려면 페이지 맨 위에 있는 X를 클릭합니다.

쿼리 프로필에서 사용할 수 있는 정보에 대한 자세한 내용은 쿼리 프로필에 대한 세부 정보 보기를 참조하세요.

쿼리 프로필에 대한 세부 정보 보기

쿼리 프로필은 쿼리의 최상위 작업을 역순으로 나열하고 마지막 작업이 먼저 나열됩니다. 왼쪽의 3개 열에는 작업 순서, 작업 이름 및 해당 작업에 대해 선택한 메트릭의 그래프가 표시됩니다. 쿼리 프로필의 다양한 부분을 숙지하려면 다음 단계를 수행합니다.

  1. 시간을 클릭하여 각 하위 태스크의 기간을 확인합니다.
  2. 을 클릭하여 쿼리에서 반환된 행의 수와 크기를 확인합니다.
  3. 메모리를 클릭하여 각 쿼리 작업에 사용된 메모리를 확인합니다. 작업에 하위 작업이 있는 경우 >를 클릭하여 각 하위 작업에 대한 세부 정보를 확인할 수 있습니다.
  4. 오른쪽에서 개요를 클릭하여 쿼리의 SQL 문, 상태, 시작 및 종료 시간, 기간, 쿼리를 실행한 사용자 및 쿼리가 실행된 웨어하우스를 확인합니다.
  5. 작업을 클릭하면 작업 기간, 사용된 메모리, 반환된 행의 수와 크기 및 계보에 대한 작업 설명 및 메트릭과 같은 작업에 대한 세부 정보를 볼 수 있습니다.
  6. 하위 작업 세부 정보를 닫으려면 X를 클릭합니다.
  7. SQL 웨어하우스의 이름을 클릭하여 해당 웨어하우스의 속성으로 이동합니다.
  8. Apache Spark UI에서 쿼리 프로필을 보려면 페이지 위쪽을 클릭한 세로 줄임표 다음 Spark UI에서 열기를 클릭합니다.
  9. 쿼리 프로필을 닫으려면 페이지 맨 위에 있는 X를 클릭합니다.

쿼리 프로필 공유

쿼리 프로필을 다른 사용자와 공유하려면 다음을 수행합니다.

  1. 쿼리 기록을 봅니다.
  2. 쿼리의 이름을 클릭합니다.
  3. 쿼리를 공유하려면 다음 두 가지 선택 사항이 있습니다.
    • 다른 사용자에게 쿼리에 대한 CAN MANAGE 권한이 있는 경우 쿼리 프로필의 URL을 공유할 수 있습니다. 공유를 클릭합니다. URL이 클립보드에 복사됩니다.
    • 그렇지 않으면 다른 사용자에게 CAN MANAGE 권한이 없거나 작업 영역의 멤버가 아닌 경우 쿼리 프로필을 JSON 개체로 다운로드할 수 있습니다. 다운로드. JSON 파일이 로컬 시스템에 다운로드됩니다.

쿼리 프로필 가져오기

쿼리 프로필에 대한 JSON을 가져오려면 다음을 수행합니다.

  1. 쿼리 기록을 봅니다.

  2. 오른쪽 위에 있는 케밥 메뉴를 세로 줄임표 클릭하고 JSON(쿼리 프로필 가져오기)을 선택합니다.

  3. 파일 브라우저에서 사용자와 공유된 JSON 파일을 선택하고 열기를 클릭합니다. JSON 파일이 업로드되고 쿼리 프로필이 표시됩니다.

    쿼리 프로필을 가져오면 브라우저 세션에 동적으로 로드되고 작업 영역에서 유지되지 않습니다. 볼 때마다 다시 가져와야 합니다.

  4. 가져온 쿼리 프로필을 닫으려면 페이지 맨 위에 있는 X를 클릭합니다.

다음 단계