- 카테고리:
CORTEX_SEARCH_REFRESH_HISTORY¶
이 테이블 함수는 :doc:`Cortex Search Service </user-guide/snowflake-cortex/cortex-search/cortex-search-overview>`의 각 새로 고침(완료 및 실행 중)에 대한 정보를 반환합니다.
이 테이블 함수는 진행 중인 모든 새로 고침은 물론이고, 현재 시간으로부터 7일 이내의 DATA_TIMESTAMP가 있는 모든 새로 고침도 반환합니다.
구문¶
CORTEX_SEARCH_REFRESH_HISTORY(
[ NAME => '<string>' ]
[ , DATA_TIMESTAMP_START => <constant_expr> ]
[ , DATA_TIMESTAMP_END => <constant_expr> ]
[ , RESULT_LIMIT => <integer> ]
)
인자¶
모든 인자는 선택 사항입니다. 인자가 제공되지 않으면 계정의 모든 Cortex Search Service에서 100회의 새로 고침이 반환됩니다.
NAME => stringCortex Search Service의 이름입니다.
이름은 작은따옴표로 묶어야 하며 대/소문자를 구분하지 않습니다.
정규화되지 않은 이름(
service_name), 부분적으로 정규화된 이름(schema_name.service_name) 또는 정규화된 이름(database_name.schema_name.service_name)을 지정할 수 있습니다.오브젝트 이름 확인에 대한 자세한 내용은 오브젝트 이름 확인 섹션을 참조하십시오.
이 함수는 이 서비스에 대한 새로 고침을 반환합니다.
DATA_TIMESTAMP_START => constant_expr, .DATA_TIMESTAMP_END => constant_expr새로 고침이 발생한 시간 범위(TIMESTAMP_LTZ 형식)입니다.
시작 시간과 종료 시간이 모두 지정되지 않은 경우 기본 범위는 과거 날짜가 됩니다.
종료 시간이 지정되지 않은 경우, CURRENT_TIMESTAMP 가 범위의 끝으로 사용됩니다.
시작 시간이 지정되지 않은 경우, 범위는 DATA_TIMESTAMP_END가 시작되기 1일 전에 시작됩니다.
RESULT_LIMIT => integer함수가 반환하는 최대 행 수를 지정하는 숫자입니다. 일치하는 행의 수가 이 제한보다 큰 경우, 지정된 제한까지는 가장 최근에 종료된 새로 고침(그리고 여전히 실행 중인 새로 고침)이 반환됩니다.
또한 필터를 적용하려면 모든 Cortex Search Service에 필터가 적용될 수 있도록 충분히 큰 RESULT_LIMIT 제한 값을 지정합니다.
범위:
1~10000기본값:
100.
출력¶
이 함수는 다음 열을 반환합니다.
열 이름 |
데이터 타입 |
설명 |
|---|---|---|
NAME |
TEXT |
Cortex Search Service의 이름입니다. |
SCHEMA_NAME |
TEXT |
Cortex Search Service가 포함된 스키마의 이름입니다. |
DATABASE_NAME |
TEXT |
Cortex Search Service가 포함된 데이터베이스의 이름입니다. |
STATE |
TEXT |
Cortex Search Service의 새로 고침 상태입니다. 다음 중 한 가지 상태일 수 있습니다.
|
DATA_TIMESTAMP |
TIMESTAMP_LTZ |
새로 고침이 평가된 시점의 트랜잭션 타임스탬프입니다. (이는 실제 새로 고침 시간보다 약간 이전 시점일 수 있습니다.) 이 타임스탬프 이전에 도착한 기본 오브젝트의 모든 데이터는 현재 Cortex Search Service에 포함되어 있습니다. |
REFRESH_START_TIME |
TIMESTAMP_LTZ |
새로 고침 작업이 시작된 시간입니다. |
REFRESH_END_TIME |
TIMESTAMP_LTZ |
새로 고침이 완료된 시간입니다. |
INDEX_PREPROCESSING_DURATION |
NUMBER |
인덱스 전처리 단계의 기간(밀리초)입니다. |
INDEX_PREPROCESSING_QUERY_ID |
TEXT |
인덱스 전처리를 수행한 쿼리의 ID입니다. |
INDEX_PREPROCESSING_STATISTICS |
OBJECT |
인덱스 전처리를 위한 다음 속성을 포함합니다.
|
INDEXING_DURATION |
NUMBER |
인덱싱 단계의 지속 시간(밀리초)입니다. |
INDEXING_QUERY_ID |
TEXT |
인덱싱을 수행한 쿼리의 ID입니다. |
REFRESH_ACTION |
TEXT |
다음 중 하나:
|
REFRESH_TRIGGER |
TEXT |
다음 중 하나:
|
TARGET_LAG_SEC |
NUMBER |
새로 고침이 발생한 시점에 Cortex Search Service의 목표 지연 값을 설명합니다. |
WAREHOUSE |
TEXT |
새로 고침 작업에 사용되는 웨어하우스의 이름입니다. |
ERROR |
TEXT |
새로 고침이 실패하면 오류 메시지가 표시되고, 그렇지 않으면 NULL이 표시됩니다. |
사용법 노트¶
Information Schema 테이블 함수를 호출할 때 세션에는 사용 중인 INFORMATION_SCHEMA 스키마가 있거나 또는 함수 이름이 정규화되어야 합니다. 자세한 내용은 Snowflake Information Schema 섹션을 참조하십시오.
예¶
지난 한 주 동안 실패한 Cortex Search Service 새로 고침을 찾습니다.
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 Service에 대한 최근 수동 새로 고침을 찾습니다.
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 Service의 새로 고침 성능을 분석합니다.
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;