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;