카테고리:

Information Schema , 테이블 함수

PIPE_USAGE_HISTORY

이 테이블 함수는 지정된 날짜 범위 내에서 Snowpipe 를 사용하여 Snowflake 테이블에 로딩된 데이터 기록을 쿼리하는 데 사용할 수 있습니다. 이 함수는 전체 Snowflake 계정에 대해 로딩된 데이터 기록 및 청구된 크레딧을 반환합니다.

참고

이 함수는 지난 14일 이내의 파이프 활동을 반환합니다.

구문

PIPE_USAGE_HISTORY(
      [ DATE_RANGE_START => <constant_expr> ]
      [, DATE_RANGE_END => <constant_expr> ]
      [, PIPE_NAME => '<string>' ] )
Copy

인자

모든 인자는 선택 사항입니다.

DATE_RANGE_START => constant_expr , . DATE_RANGE_END => constant_expr

데이터 로딩 기록을 검색할 지난 2주 이내의 날짜/시간 범위:

  • 종료 날짜가 지정되지 않은 경우, CURRENT_DATE 가 범위의 끝으로 사용됩니다.

  • 시작 날짜가 지정되지 않은 경우, 범위는 DATE_RANGE_END 시작 10분 전에 시작됩니다(즉, 기본값은 이전 10분의 데이터 로딩 기록을 표시하는 것입니다). 예를 들어 DATE_RANGE_ENDCURRENT_DATE 인 경우, 기본 DATE_RANGE_START전날 오후 11시 50분입니다.

기록은 5분, 1시간 또는 24시간 단위로 표시됩니다(지정된 범위의 길이에 따라 다름).

범위가 지난 15일을 벗어나면 오류가 반환됩니다.

PIPE_NAME => string

파이프를 지정하는 문자열입니다. 지정된 파이프를 사용하는 데이터 로딩만 반환됩니다.

파이프 이름을 지정하지 않으면 결과의 PIPE_NAME 열에 NULL이 표시됩니다. 각 행에는 시간 범위 내에서 사용 중인 모든 파이프의 합계가 포함됩니다.

사용법 노트

  • ACCOUNTADMIN 역할에 대한 결과 또는 MONITOR USAGE 전역 권한이 명시적으로 부여된 역할에 대한 결과만 반환합니다.

  • Information Schema 테이블 함수를 호출할 때 세션에는 사용 중인 INFORMATION_SCHEMA 스키마가 있거나 또는 함수 이름이 정규화되어야 합니다. 자세한 내용은 Snowflake Information Schema 섹션을 참조하십시오.

  • 때로는 데이터 압축 및 유지 관리 프로세스에서 Snowflake 크레딧을 사용할 수 있습니다. 예를 들어, 반환된 결과는 0BYTES_INSERTED 및 0FILES_INSERTED의 일부 크레딧을 사용했음을 보여줄 수도 있습니다. 이는 데이터가 로딩되지 않고 있지만, 데이터 압축 및 유지 관리 프로세스에서 일부 크레딧을 사용했다는 의미입니다.

  • Snowflake는 Snowpipe 파일 요금과 동일한 요금으로 외부 테이블과 외부 스테이지의 디렉터리 테이블에서 자동 새로 고침 알림을 위한 요금을 청구합니다. PIPE_USAGE_HISTORY 함수를 쿼리하거나 Account Usage PIPE_USAGE_HISTORY 뷰 를 검사하여 외부 테이블 및 디렉터리 테이블 자동 새로 고침 알림으로 인해 발생하는 요금을 추정할 수 있습니다. 자동 새로 고침 파이프는 NULL 파이프 이름 아래에 나열됩니다. Information Schema 테이블 함수 AUTO_REFRESH_REGISTRATION_HISTORY 를 사용하여 테이블 수준/스테이지 수준 세분성에서 외부 테이블 자동 새로 고침 알림 기록을 볼 수도 있습니다.

    자동 새로 고침 알림의 요금이 부과되지 않도록 하려면 외부 테이블과 디렉터리 테이블에 대해 수동 새로 고침을 수행하십시오. 외부 테이블의 경우 ALTER EXTERNAL TABLE <이름> REFRESH … 문을 사용하여 외부 테이블을 외부 저장소에 수동으로 동기화할 수 있습니다. 디렉터리 테이블의 경우 ALTER STAGE <이름> REFRESH … 문을 사용하여 디렉터리를 외부 저장소에 수동으로 동기화할 수 있습니다.

출력

이 함수는 다음 열을 반환합니다.

열 이름

데이터 타입

설명

START_TIME

TIMESTAMP_LTZ

데이터 로딩이 발생한 지정된 시간 범위의 시작입니다.

END_TIME

TIMESTAMP_LTZ

데이터 로딩이 발생한 지정된 시간 범위의 끝입니다.

PIPE_NAME

TEXT

데이터 로딩에 사용되는 파이프의 이름입니다. 쿼리에 파이프 이름이 지정되지 않은 경우 NULL을 표시합니다. 각 행에는 시간 범위 내에서 사용 중인 모든 파이프의 합계가 포함됩니다.

CREDITS_USED

TEXT

START_TIME 및 END_TIME 기간 동안 Snowpipe 데이터 로딩에 대해 청구된 크레딧 수입니다.

BYTES_INSERTED

NUMBER

START_TIME 및 END_TIME 기간 동안 로딩된 바이트 수입니다.

FILES_INSERTED

NUMBER

START_TIME 및 END_TIME 기간 동안 로딩된 파일 수입니다.

계정에 대한 30분 범위의 데이터 로딩 기록을 5분 주기로 검색합니다.

select *
  from table(information_schema.pipe_usage_history(
    date_range_start=>to_timestamp_tz('2017-10-24 12:00:00.000 -0700'),
    date_range_end=>to_timestamp_tz('2017-10-24 12:30:00.000 -0700')));
Copy

계정에 대한 지난 12시간 동안의 데이터 로딩 기록을 1시간 주기로 검색합니다.

select *
  from table(information_schema.pipe_usage_history(
    date_range_start=>dateadd('hour',-12,current_timestamp()),
    pipe_name=>'mydb.public.mypipe'));
Copy

계정에 대한 지난 14일간의 데이터 로딩 기록을 1일 주기로 검색합니다.

select *
  from table(information_schema.pipe_usage_history(
    date_range_start=>dateadd('day',-14,current_date()),
    date_range_end=>current_date()));
Copy

계정의 지정된 파이프에 대한 지난 14일간의 데이터 로딩 기록을 1일 주기로 검색합니다.

select *
  from table(information_schema.pipe_usage_history(
    date_range_start=>dateadd('day',-14,current_date()),
    date_range_end=>current_date(),
    pipe_name=>'mydb.public.mypipe'));
Copy