- 카테고리:
PIPE_USAGE_HISTORY¶
이 테이블 함수는 지정된 날짜 범위 내에서 Snowpipe 를 사용하여 Snowflake 테이블에 로딩된 데이터 기록을 쿼리하는 데 사용할 수 있습니다. 이 함수는 전체 Snowflake 계정에 대해 로딩된 데이터 기록 및 청구된 크레딧을 반환합니다.
참고
이 함수는 지난 14일 이내의 파이프 활동을 반환합니다.
구문¶
PIPE_USAGE_HISTORY(
[ DATE_RANGE_START => <constant_expr> ]
[, DATE_RANGE_END => <constant_expr> ]
[, PIPE_NAME => '<string>' ] )
인자¶
모든 인자는 선택 사항입니다.
DATE_RANGE_START => constant_expr
, .DATE_RANGE_END => constant_expr
데이터 로딩 기록을 검색할 지난 2주 이내의 날짜/시간 범위:
종료 날짜가 지정되지 않은 경우, CURRENT_DATE 가 범위의 끝으로 사용됩니다.
시작 날짜가 지정되지 않은 경우, 범위는
DATE_RANGE_END
시작 10분 전에 시작됩니다(즉, 기본값은 이전 10분의 데이터 로딩 기록을 표시하는 것입니다). 예를 들어DATE_RANGE_END
가 CURRENT_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')));
계정에 대한 지난 12시간 동안의 데이터 로딩 기록을 1시간 주기로 검색합니다.
select * from table(information_schema.pipe_usage_history( date_range_start=>dateadd('hour',-12,current_timestamp()), pipe_name=>'mydb.public.mypipe'));
계정에 대한 지난 14일간의 데이터 로딩 기록을 1일 주기로 검색합니다.
select * from table(information_schema.pipe_usage_history( date_range_start=>dateadd('day',-14,current_date()), date_range_end=>current_date()));
계정의 지정된 파이프에 대한 지난 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'));