카테고리:

Information Schema , 테이블 함수

COPY_HISTORY

이 테이블 함수는 지난 14일 내에서 다양한 차원에 따라 Snowflake 데이터 로딩 기록을 쿼리하는 데 사용할 수 있습니다. 이 함수는 Snowpipe 를 사용한 COPY INTO <테이블> 문 및 연속 데이터 로딩 둘 다에 대한 로딩 활동을 반환합니다. 테이블 함수는 LOAD_HISTORY 뷰 의 10,000행 제한을 피합니다. 결과는 SQL 조건자를 사용하여 필터링할 수 있습니다.

Snowsight 에서 데이터 로딩 세부 정보를 볼 수도 있습니다. 복사 기록을 사용하여 데이터 로딩 활동 모니터링하기 섹션을 참조하십시오.

구문

COPY_HISTORY(
      TABLE_NAME => '<string>'
       , START_TIME => <constant_expr>
      [, END_TIME => <constant_expr> ] )
Copy

인자

필수:

TABLE_NAME => 'string'

테이블 이름을 지정하는 문자열입니다.

START_TIME => constant_expr

로딩 이벤트 검색을 위한 시간 범위의 시작을 표시하는, 지난 14일 이내의 타임스탬프(TIMESTAMP_LTZ 형식)입니다.

선택 사항:

END_TIME => constant_expr

로딩 이벤트 검색을 위한 시간 범위의 끝을 표시하는, 지난 14일 이내의 타임스탬프(TIMESTAMP_LTZ 형식)입니다.

기본값: CURRENT_TIMESTAMP.

사용법 노트

  • 대량 데이터 로드의 경우 이 함수는 Snowflake 계정에 대한 MONITOR 권한이 있는 역할 또는 스키마와 데이터베이스에 대한 USAGE 권한과 테이블에 대한 권한이 하나라도 있는 역할에 대한 결과를 반환합니다.

  • Snowpipe 데이터 로드의 경우 이 함수는 Snowflake 계정에 대한 MONITOR 권한이 있는 역할 또는 파이프를 포함한 스키마와 데이터베이스에 대한 USAGE 권한과 테이블에 대한 권한이 하나라도 있는 역할에 대한 결과를 반환합니다. 또한 파이프에서 MONITOR를 사용할 수 없는 경우 파이프 이름, 파이프 테이블 이름, 파이프 스키마 이름, 파이프 카탈로그 이름이 NULL로 마스킹됩니다.

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

  • 이 뷰는 14일의 복사 기록 제한을 반환합니다. 이 제한을 피하려면 COPY_HISTORY 뷰 (Account Usage)를 사용하십시오.

  • 이 함수에는 오류가 있거나 오류 없이 완료될 때까지 실행된 COPY INTO 명령만 포함됩니다.

  • 테이블 오브젝트를 삭제하거나 다시 만들면 테이블로의 대량 데이터 로딩(COPY INTO <테이블> 문)의 기록 데이터가 제거됩니다.

  • 파이프 오브젝트를 삭제하거나 다시 만들면 파이프를 사용하는 Snowpipe 데이터 로딩에 대한 기록 데이터가 제거됩니다.

출력

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

열 이름

데이터 타입

설명

FILE_NAME

TEXT

소스 파일의 이름과 파일에 대한 상대적 경로입니다.

STAGE_LOCATION

TEXT

소스 파일이 있는 스테이지의 이름입니다.

LAST_LOAD_TIME

TIMESTAMP_LTZ

파일 로딩을 마친 날짜 및 시간입니다.

ROW_COUNT

NUMBER

소스 파일에서 로딩된 행 수입니다.

ROW_PARSED

NUMBER

소스 파일에서 구문 분석된 행 수입니다. STATUS가 Load in progress 인 경우 NULL 입니다.

FILE_SIZE

NUMBER

로딩된 원본 파일의 크기(바이트).

FIRST_ERROR_MESSAGE

TEXT

소스 파일의 첫 번째 오류입니다.

FIRST_ERROR_LINE_NUMBER

NUMBER

첫 번째 오류의 줄 번호입니다.

FIRST_ERROR_CHARACTER_POS

NUMBER

첫 번째 오류 문자의 위치입니다.

FIRST_ERROR_COLUMN_NAME

TEXT

첫 번째 오류의 열 이름입니다.

ERROR_COUNT

NUMBER

소스 파일의 오류 행 수입니다.

ERROR_LIMIT

NUMBER

오류 수가 이 제한에 도달하면 중단합니다.

STATUS

TEXT

상태: Load in progress, Loaded, Load failed, Partially loaded 또는 Load skipped.

TABLE_CATALOG_NAME

TEXT

대상 테이블이 있는 데이터베이스의 이름입니다.

TABLE_SCHEMA_NAME

TEXT

대상 테이블이 있는 스키마의 이름입니다.

TABLE_NAME

TEXT

대상 테이블의 이름입니다.

PIPE_CATALOG_NAME

TEXT

파이프가 있는 데이터베이스의 이름입니다.

PIPE_SCHEMA_NAME

TEXT

파이프가 있는 스키마의 이름입니다.

PIPE_NAME

TEXT

로딩 매개 변수를 정의하는 파이프의 이름입니다. COPY 문 로딩의 경우 NULL 입니다.

PIPE_RECEIVED_TIME

TIMESTAMP_LTZ

파이프를 통해 로딩된 파일에 대한 INSERT 요청이 수신된 날짜 및 시간입니다. COPY 문 로딩의 경우 NULL 입니다.

지난 1시간 동안의 모든 로딩 활동에 대한 세부 정보를 검색합니다.

select *
from table(information_schema.copy_history(TABLE_NAME=>'MYTABLE', START_TIME=> DATEADD(hours, -1, CURRENT_TIMESTAMP())));
Copy