- 카테고리:
EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY¶
이 테이블 함수는 다음을 포함하여 외부 테이블의 메타데이터 기록에 대한 정보를 쿼리하는 데 사용할 수 있습니다.
메타데이터 새로 고침의 일부로서 자동으로 추가되거나 제거된 파일.
메타데이터를 새로 고칠 때 발견된 모든 오류.
구문¶
EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY (
TABLE_NAME => '<string>'
[, START_TIME => <constant_expr> ] )
인자¶
필수:
TABLE_NAME => 'string'
외부 테이블 이름을 지정하는 문자열입니다.
선택 사항:
START_TIME => constant_expr
메타데이터 업데이트 이벤트 검색을 위한 시간 범위의 시작을 표시하는, 지난 30일 이내의 타임스탬프(TIMESTAMP_LTZ 형식)입니다.
참고
시작 시간을 지정하지 않는 경우, 이 함수는 지난 30일 이내의 모든 업데이트 이벤트를 반환합니다.
시작 시간이 지난 30일을 벗어나는 경우, 이 함수는 지난 30일 이내의 결과를 반환합니다.
시작 시간이 타임스탬프가 아니면 무시됩니다.
사용법 노트¶
외부 테이블 소유자(즉, 외부 테이블에 대한 OWNERSHIP 권한이 있는 역할), 또는 상위 역할, 또는 외부 테이블을 포함하는 데이터베이스 및 스키마에 대한 USAGE 권한과 외부 테이블에 대한 모든 권한이 있는 역할에 대한 결과를 반환합니다.
테이블 함수는 외부 테이블이 해당 메타데이터에 데이터 파일을 포함하도록 새로 고침(즉, 동기화) 될 때까지, 스테이징된 데이터 파일에 대한 메타데이터를 검색할 수 없습니다.
Information Schema 테이블 함수를 호출할 때 세션에는 사용 중인 INFORMATION_SCHEMA 스키마가 있거나 또는 함수 이름이 정규화되어야 합니다. 자세한 내용은 Snowflake Information Schema 섹션을 참조하십시오.
출력¶
이 함수는 다음 열을 반환합니다.
열 이름 |
데이터 타입 |
설명 |
---|---|---|
JOB_CREATED_TIME |
TIMESTAMP_LTZ |
작업이 발생한 타임스탬프 |
FILE_NAME |
TEXT |
스테이징된 소스 파일의 이름과 파일에 대한 상대적 경로 |
OPERATION_STATUS |
TEXT |
상태: REGISTERED_NEW, REGISTERED_UPDATE, REGISTER_SKIPPED, REGISTER_FAILED, UNREGISTERED 또는 UNREGISTER_FAILED |
MESSAGE |
TEXT |
작업 상태에 따른 메시지 |
FILE_SIZE |
NUMBER |
외부 테이블에 추가된 파일 크기(바이트) |
LAST_MODIFIED |
TIMESTAMP_LTZ |
파일이 스테이지에서 마지막으로 업데이트된 타임스탬프 |
예¶
mytable
외부 테이블에서 참조하는 모든 데이터 파일에 대해 저장된 메타데이터를 검색합니다.
select * from table(information_schema.external_table_file_registration_history(TABLE_NAME=>'MYTABLE'));
지난 1시간 이내에 시작된 mydb.public.external_table_name
외부 테이블에 대한 등록 이벤트를 검색합니다.
select * from table(information_schema.external_table_file_registration_history( start_time=>dateadd('hour',-1,current_timestamp()), table_name=>'mydb.public.external_table_name'));
2022년 4월 25일 자정에 시작하는 외부 테이블 mydb.public.external_table_name
의 등록 이벤트를 검색합니다.
select * from table(information_schema.external_table_file_registration_history( start_time=>cast('2022-04-25' as timestamp), table_name=>'mydb.public.external_table_name'));