CORTEX_SEARCH_REFRESH_HISTORY¶
此表函数返回有关 Cortex Search Service 每次刷新(已完成和正在运行)的信息。
此表函数返回所有正在进行的刷新以及当前时间 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_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 服务的名称。 |
SCHEMA_NAME |
TEXT |
包含 Cortex Search 服务的架构的名称。 |
DATABASE_NAME |
TEXT |
包含 Cortex Search 服务的数据库的名称。 |
STATE |
TEXT |
Cortex Search 服务的刷新状态。状态可以是以下状态之一:
|
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 |
包含以下索引预处理属性:
|
INDEXING_DURATION |
NUMBER |
索引阶段的持续时间(以毫秒为单位)。 |
INDEXING_QUERY_ID |
TEXT |
执行索引的查询的 ID。 |
REFRESH_ACTION |
TEXT |
其中之一:
|
REFRESH_TRIGGER |
TEXT |
其中之一:
|
TARGET_LAG_SEC |
NUMBER |
描述刷新时 Cortex Search 服务的目标滞后值。 |
WAREHOUSE |
TEXT |
用于刷新操作的仓库名称。 |
ERROR |
TEXT |
如果刷新失败,则显示错误消息,否则显示 NULL。 |
使用说明¶
当调用 Information Schema 表函数时,会话必须具有正在使用的 INFORMATION_SCHEMA 架构,或者 函数名称必须受到完全限定。有关更多详细信息,请参阅 Snowflake Information Schema。
示例¶
查找过去一周内失败的 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;