STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY

STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY

디렉터리 테이블(directory table)의 메타데이터 히스토리를 조회하는 테이블 함수예요. 메타데이터 새로고침으로 파일이 자동 추가/제거된 기록이나, 메타데이터를 새로고칠 때 발생한 오류를 확인할 수 있어요.

출처: 공식 문서

본문

이 테이블 함수는 디렉터리 테이블의 메타데이터 히스토리에 대한 정보를 조회하는 데 사용할 수 있습니다. 여기에는 다음이 포함됩니다:

  • 메타데이터 새로고침의 일부로 자동 추가되거나 제거된 파일.
  • 메타데이터를 새로고칠 때 발견된 모든 오류.

구문 (Syntax)

STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY (
      STAGE_NAME => '<string>'
      [, START_TIME => <constant_expr> ] )

인자 (Arguments)

필수 (Required):

STAGE_NAME => 'string'

디렉터리 테이블이 있는 스테이지의 이름을 지정하는 문자열입니다.

선택 (Optional):

START_TIME => constant_expr

메타데이터 갱신 이벤트를 검색할 시간 범위의 시작을 표시하는 타임스탬프(TIMESTAMP_LTZ 형식)로, 지난 14일 이내여야 합니다.

참고 시작 시간을 지정하지 않으면 함수는 지난 14일 이내의 모든 갱신 이벤트를 반환합니다. 시작 시간이 지난 14일 밖에 있으면 함수는 빈 결과를 반환합니다.

사용 참고 (Usage notes)

  • 스테이지 소유자(즉 스테이지의 OWNERSHIP 권한을 가진 역할) 또는 더 높은 역할, 또는 디렉터리 테이블이 있는 스테이지를 포함하는 데이터베이스·스키마에 USAGE 권한이 있고 스테이지에 대한 어떤 권한이든 가진 역할에게 결과를 반환합니다.
  • 디렉터리 테이블이 데이터 파일을 메타데이터에 포함하도록 새로고침(동기화)되기 전까지는, 이 테이블 함수가 스테이징된 데이터 파일에 대한 메타데이터를 검색할 수 없습니다.
  • Information Schema 테이블 함수를 호출할 때는 세션이 INFORMATION_SCHEMA 스키마를 사용 중이거나 함수 이름이 완전히 한정되어야 합니다. 자세한 내용은 Snowflake Information Schema를 참고하세요.

출력 (Output)

함수는 다음 컬럼을 반환합니다:

컬럼 이름 데이터 타입 설명
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 파일이 스테이지에서 마지막으로 갱신된 시각의 타임스탬프.

예제 (Examples)

mystage 스테이지가 참조하는 모든 데이터 파일에 저장된 메타데이터를 검색합니다:

SELECT *
  FROM TABLE(information_schema.stage_directory_file_registration_history(
  STAGE_NAME=>'MYSTAGE'));

지난 한 시간 안에 시작된 mydb.public.mystage 스테이지의 디렉터리 테이블에 대한 등록 이벤트를 검색합니다:

SELECT *
  FROM TABLE(information_schema.stage_directory_file_registration_history(
    START_TIME=>DATEADD('hour',-1,current_timestamp()),
    STAGE_NAME=>'mydb.public.mystage'));

더 알아보기 (Learn more)