CORTEX_SEARCH_REFRESH_HISTORY

CORTEX_SEARCH_REFRESH_HISTORY

Cortex Search 서비스의 각 새로고침(완료 및 실행 중)에 대한 정보를 반환하는 Information Schema 테이블 함수예요.

출처: 공식 문서

본문

이 테이블 함수는 Cortex Search 서비스의 각 새로고침(완료 및 실행 중)에 대한 정보를 반환합니다.

이 테이블 함수는 진행 중인 모든 새로고침과 현재 시간 기준 7일 이내의 DATA_TIMESTAMP를 가진 모든 새로고침을 반환합니다.

구문 (Syntax)

CORTEX_SEARCH_REFRESH_HISTORY(
  [ NAME => '<string>' ]
  [ , DATA_TIMESTAMP_START => <constant_expr> ]
  [ , DATA_TIMESTAMP_END => <constant_expr> ]
  [ , RESULT_LIMIT => <integer> ]
)

인자 (Arguments)

모든 인자는 선택 사항입니다. 인자가 제공되지 않으면 계정의 모든 Cortex Search 서비스에서 100개의 새로고침이 반환됩니다.

Cortex Search 서비스의 이름입니다.

이름은 작은따옴표로 묶어야 하며 대소문자를 구분하지 않습니다.

한정되지 않은 이름(service_name), 부분적으로 한정된 이름(schema_name.service_name), 완전히 한정된 이름(database_name.schema_name.service_name)을 지정할 수 있습니다.

객체 이름 해석에 대한 자세한 내용은 Object name resolution을 참고하세요.

이 함수는 이 서비스의 새로고침을 반환합니다.

새로고침이 발생한 시간 범위 (TIMESTAMP_LTZ 형식).

  • 시작 시간과 종료 시간을 모두 지정하지 않으면 기본 범위는 지난 하루입니다.

  • 종료 시간을 지정하지 않으면 범위의 끝으로 CURRENT_TIMESTAMP가 사용됩니다.

  • 시작 시간을 지정하지 않으면 범위는 DATA_TIMESTAMP_END의 시작 시점보다 1일 전에 시작됩니다.

함수가 반환하는 최대 행 수를 지정하는 숫자입니다. 일치하는 행 수가 이 한도보다 크면 가장 최근에 완료된 새로고침(및 아직 실행 중인 새로고침)이 지정된 한도까지 반환됩니다.

결과에 필터를 적용하려면 필터가 모든 Cortex Search 서비스에 적용될 만큼 충분히 큰 RESULT_LIMIT 한도 값을 지정하세요.

범위: 1 ~ 10000

기본값: 100.

출력 (Output)

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

Column Name Data Type Description
NAME TEXT Cortex Search 서비스의 이름.
SCHEMA_NAME TEXT Cortex Search 서비스를 포함하는 스키마의 이름.
DATABASE_NAME TEXT Cortex Search 서비스를 포함하는 데이터베이스의 이름.
STATE TEXT Cortex Search 서비스에 대한 새로고침 상태. 상태는 다음 중 하나일 수 있습니다: EXECUTING(새로고침 진행 중), SUCCEEDED(새로고침 성공적으로 완료됨), FAILED(실행 중 새로고침 실패), CANCELLED(실행 전에 새로고침 취소됨).
DATA_TIMESTAMP TIMESTAMP_LTZ 새로고침이 평가된 트랜잭션 타임스탬프. (이 값은 실제 새로고침 시간보다 약간 이전일 수 있습니다.) 이 타임스탬프 이전에 기본 객체에 도착한 모든 데이터가 현재 Cortex Search 서비스에 포함됩니다.
REFRESH_START_TIME TIMESTAMP_LTZ 새로고침 작업이 시작된 시간.
REFRESH_END_TIME TIMESTAMP_LTZ 새로고침이 완료된 시간.
INDEX_PREPROCESSING_DURATION NUMBER 인덱스 전처리 단계의 지속 시간(밀리초).
INDEX_PREPROCESSING_QUERY_ID TEXT 인덱스 전처리를 수행한 쿼리의 ID.
INDEX_PREPROCESSING_STATISTICS OBJECT 인덱스 전처리에 대해 다음 속성을 포함합니다: compilationTimeMs(쿼리 컴파일에 소요된 시간, 밀리초), executionTimeMs(쿼리 실행에 소요된 시간, 밀리초), queuedTimeMs(실행 전 대기열에서 보낸 시간, 밀리초), numInsertedRows(삽입된 행 수), numDeletedRows(삭제된 행 수), numCopiedRows(변경 없이 복사된 행 수), numAddedPartitions(추가된 파티션 수), numRemovedPartitions(제거된 파티션 수).
INDEXING_DURATION NUMBER 인덱싱 단계의 지속 시간(밀리초).
INDEXING_QUERY_ID TEXT 인덱싱을 수행한 쿼리의 ID.
REFRESH_ACTION TEXT 다음 중 하나: NO_DATA(기본 테이블에 새 데이터 없음), FULL(Cortex Search 서비스의 전체 새로고침), INCREMENTAL(Cortex Search 서비스의 증분 새로고침).
REFRESH_TRIGGER TEXT 다음 중 하나: SCHEDULED(서비스를 최신 상태로 유지하는 일반 백그라운드 새로고침), MANUAL(사용자가 ALTER CORTEX SEARCH SERVICE를 사용해 수동으로 트리거한 새로고침), CREATION(생성 DDL 문 중에 수행된 새로고침).
TARGET_LAG_SEC NUMBER 새로고침이 발생한 시점의 Cortex Search 서비스에 대한 대상 지연(target lag) 값을 설명합니다.
WAREHOUSE TEXT 새로고침 작업에 사용된 웨어하우스의 이름.
ERROR TEXT 새로고침이 실패하면 오류 메시지, 그렇지 않으면 NULL.

사용 참고 사항 (Usage notes)

  • Information Schema 테이블 함수를 호출할 때 세션에 INFORMATION_SCHEMA 스키마가 사용 중이어야 하거나 함수 이름이 완전히 한정되어야(fully-qualified) 합니다. 자세한 내용은 Snowflake Information Schema를 참고하세요.

예제 (Examples)

지난 주 동안 실패한 Cortex Search 서비스 새로고침을 찾습니다:

SELECT
  data_timestamp,
  database_name,
  schema_name,
  name,
  state,
  error,
  refresh_trigger
FROM
  TABLE (
    INFORMATION_SCHEMA.CORTEX_SEARCH_REFRESH_HISTORY (
      DATA_TIMESTAMP_START => DATEADD(WEEK, -1, CURRENT_TIMESTAMP())
    )
  )
ORDER BY
  data_timestamp DESC
LIMIT 10;

특정 Cortex Search 서비스의 최근 수동 새로고침을 찾습니다:

SELECT
  data_timestamp,
  refresh_start_time,
  refresh_end_time,
  refresh_action,
  state
FROM
  TABLE (
    INFORMATION_SCHEMA.CORTEX_SEARCH_REFRESH_HISTORY (
      NAME => 'MYSVC',
      DATA_TIMESTAMP_START => DATEADD(DAY, -7, CURRENT_TIMESTAMP()),
      RESULT_LIMIT => 20
    )
  )
WHERE
  refresh_trigger = 'MANUAL'
ORDER BY
  data_timestamp DESC;

Cortex Search 서비스의 새로고침 성능을 분석합니다:

SELECT
  name,
  data_timestamp,
  index_preprocessing_duration,
  indexing_duration,
  TIMEDIFF(SECOND, refresh_start_time, refresh_end_time) AS total_refresh_duration_sec,
  index_preprocessing_statistics:numInsertedRows AS rows_processed
FROM
  TABLE (
    INFORMATION_SCHEMA.CORTEX_SEARCH_REFRESH_HISTORY (
      NAME => 'MYSVC',
      DATA_TIMESTAMP_START => DATEADD(DAY, -30, CURRENT_TIMESTAMP())
    )
  )
WHERE
  state = 'SUCCEEDED'
ORDER BY
  data_timestamp DESC;

더 알아보기 (Learn more)