WAREHOUSE_LOAD_HISTORY

WAREHOUSE_LOAD_HISTORY

이 테이블 함수는 지정된 날짜 범위 안의 단일 웨어하우스에 대한 활동 기록(“query load”로 정의됨)을 쿼리하는 데 사용할 수 있어요.

참고: 이 함수는 최근 14일 이내의 웨어하우스 활동을 반환해요.

참고: 현재 타임스탬프와 1분 이내인 날짜 값을 지정하면 부정확한 결과가 나올 수 있어요.

출처: Snowflake SQL Reference - WAREHOUSE_LOAD_HISTORY

본문

구문

WAREHOUSE_LOAD_HISTORY(
      [ DATE_RANGE_START = constant_expr ]
      [, DATE_RANGE_END = constant_expr ]
      [, WAREHOUSE_NAME = string ] )

인자

모든 인자는 선택적이에요.

DATE_RANGE_START = constant_expr, DATE_RANGE_END = constant_expr 웨어하우스 로드 기록 데이터를 검색할 최근 14일 이내의 날짜 범위예요:

  • 종료 날짜가 지정되지 않으면 범위의 끝으로 CURRENT_DATE가 사용돼요.
  • 시작 날짜가 지정되지 않으면 범위는 DATE_RANGE_END의 시작 10분 전부터 시작돼요(즉 기본값은 이전 10분의 로드 기록을 표시하는 것입니다). 예를 들어 DATE_RANGE_END가 CURRENT_DATE이면 기본 DATE_RANGE_START는 전날 오후 11:50이에요.

범위가 최근 15일 밖에 있으면 오류가 반환돼요.

참고: 선택한 기간이 8시간 미만이면 로드가 5초 간격으로 표시되고, 그 외에는 5분 간격이 사용돼요.

WAREHOUSE_NAME = string 사용 로드 기록을 검색할 웨어하우스의 이름이에요. 웨어하우스 이름은 작은따옴표로 묶어야 해요. 또한 웨어하우스 이름에 공백, 대소문자가 섞인 문자 또는 특수 문자가 포함되어 있으면 이름을 작은따옴표 안에서 큰따옴표로 묶어야 해요(예: My Warehouse vs mywarehouse).

기본값: CURRENT_WAREHOUSE.

사용 시 유의사항

  • 이 함수에서 결과를 얻으려면 다음 역할 또는 권한 중 하나가 필요해요:
    • ACCOUNTADMIN 역할은 모든 전역 계정 권한을 가지므로 이 함수에서 결과를 얻을 수 있어요.
    • ACCOUNT에 대한 MONITOR USAGE 전역 권한이 있는 역할은 계정의 모든 웨어하우스에 대해 이 함수를 쿼리할 수 있어요.
    • WAREHOUSE에 대한 MONITOR 권한이 있는 역할은 권한이 있는 웨어하우스에 대해 이 함수를 쿼리할 수 있어요.
    • WAREHOUSE에 대한 OWNERSHIP 권한이 있는 역할은 MONITOR를 포함해 웨어하우스에 대한 모든 권한을 가져요.

자세한 내용은 Access control privileges를 참고하세요.

  • Information Schema 테이블 함수를 호출할 때 세션에 INFORMATION_SCHEMA 스키마가 사용 중이거나 함수 이름이 정규화되어야 해요. 자세한 내용은 Snowflake Information Schema를 참고하세요.

출력

참고: 이 함수의 출력 컬럼에서 query load 값은 한 구간에서 특정 상태의 모든 쿼리의 총 실행 시간(초)을 그 구간의 총 시간(초)으로 나눈 비율이에요.

예를 들어 5분(300초) 구간에서 4개 쿼리의 총 시간이 276초였다면 query load 값은 276 / 300 = 0.92예요.

이 함수는 다음 컬럼을 반환해요:

Column Name Data Type Description
START_TIME TIMESTAMP_LTZ 웨어하우스 사용이 발생한 지정된 시간 범위의 시작(UTC 시간대)
END_TIME TIMESTAMP_LTZ 웨어하우스 사용이 발생한 지정된 시간 범위의 끝(UTC 시간대)
WAREHOUSE_NAME VARCHAR 웨어하우스의 이름
AVG_RUNNING NUMBER(38,2) 실행된 쿼리에 대한 query load 값
AVG_QUEUED_LOAD NUMBER(38,2) 웨어하우스가 과부하되어 대기열에 있던 쿼리에 대한 query load 값
AVG_QUEUED_PROVISIONING NUMBER(38,2) 웨어하우스가 프로비저닝되는 중이어서 대기열에 있던 쿼리에 대한 query load 값
AVG_BLOCKED NUMBER(38,2) 트랜잭션 잠금에 의해 차단된 쿼리에 대한 query load 값

예시

세션에서 현재 사용 중인 웨어하우스에 대해 지난 1시간의 로드 기록을 5초 간격으로 검색해요:

use warehouse mywarehouse;

select *
from table(information_schema.warehouse_load_history(date_range_start=dateadd(hour,-1,current_timestamp())));

세션에서 현재 사용 중인 웨어하우스에 대해 지난 14일의 로드 기록을 5분 간격으로 검색해요:

use warehouse mywarehouse;

select *
from table(information_schema.warehouse_load_history(date_range_start=dateadd(day,-14,current_date()), date_range_end=current_date()));

더 알아보기 (Learn more)