架构:

ACCOUNT_USAGE

CORTEX_SEARCH_REFRESH_HISTORY 视图

此 Account Usage 视图显示 Cortex Search 刷新历史记录的信息。

列名称

数据类型

描述

NAME

VARCHAR

Cortex Search 服务的名称。

SCHEMA_NAME

VARCHAR

包含 Cortex Search 服务的架构的名称。

DATABASE_NAME

VARCHAR

包含 Cortex Search 服务的数据库的名称。

STATE

VARCHAR

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

VARCHAR

执行索引预处理的查询的 ID。

INDEX_PREPROCESSING_STATISTICS

OBJECT

包含以下索引预处理属性:.compilationTimeMs:编译查询所花费的时间(以毫秒为单位)。.executionTimeMs:执行查询所花费的时间(以毫秒为单位)。.queuedTimeMs:执行前排队等待的时间(以毫秒为单位)。.numInsertedRows:插入的行数。.numDeletedRows:删除的行数。.numCopiedRows:在未修改的情况下复制的行数。.numAddedPartitions:新增分区的数量。.numRemovedPartitions:已删除的分区数。

INDEXING_DURATION

NUMBER

索引阶段的持续时间(以毫秒为单位)。

INDEXING_QUERY_ID

VARCHAR

执行索引的查询的 ID。

REFRESH_ACTION

VARCHAR

以下之一:. – NO_DATA – 基础表中没有新数据。. – FULL – Cortex Search 服务全量刷新。. – INCREMENTAL – Cortex Search 服务增量刷新。

REFRESH_TRIGGER

VARCHAR

以下之一:. – SCHEDULED – 正常后台刷新,使服务保持最新。. – MANUAL – 用户使用 ALTER CORTEX SEARCH SERVICE 手动触发刷新。. – CREATION – 在执行创建 DDL 语句期间执行的刷新。

TARGET_LAG_SEC

NUMBER

描述刷新时 Cortex Search 服务的目标滞后值。

WAREHOUSE

VARCHAR

用于刷新操作的仓库名称。

ERROR

VARCHAR

如果刷新失败,则显示错误消息,否则显示 NULL。

使用说明

  • 视图的延迟时间最长可达 3 小时。

  • 要查询该视图,请使用已获得 SNOWFLAKE、USAGE_VIEWER 授权的角色。数据库角色

  • 以下实参可用于筛选结果:

    • NAME:选择使用 时默认使用的角色和仓库。按 Cortex Search 服务名称筛选。

    • DATA_TIMESTAMP_START:选择使用 时默认使用的角色和仓库。筛选在指定时间戳或之后发生的刷新结果。

    • DATA_TIMESTAMP_END:选择使用 时默认使用的角色和仓库。筛选在指定时间戳或之前发生的刷新结果。

    • RESULT_LIMIT:选择使用 时默认使用的角色和仓库。限制返回的结果数量。

示例

查找过去一周内失败的 Cortex Search 服务刷新:

SELECT data_timestamp,
       database_name,
       schema_name,
       name,
       state,
       error,
       refresh_trigger
  FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_SEARCH_REFRESH_HISTORY
  WHERE state = 'FAILED'
    AND data_timestamp >= DATEADD(WEEK, -1, CURRENT_DATE())
  ORDER BY data_timestamp DESC
  LIMIT 10;
Copy

查找特定 Cortex Search 服务最近的手动刷新:

SELECT data_timestamp,
       refresh_start_time,
       refresh_end_time,
       refresh_action,
       state
  FROM SNOWFLAKE.ACCOUNT_USAGE.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;
Copy

分析 Cortex Search 服务的刷新性能:

SELECT name,
       data_timestamp,
       index_preprocessing_duration,
       indexing_duration,
       (refresh_end_time::TIMESTAMP_NTZ - refresh_start_time::TIMESTAMP_NTZ) AS total_refresh_duration_sec,
       index_preprocessing_statistics:numInsertedRows AS rows_processed
  FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_SEARCH_REFRESH_HISTORY
  WHERE name = 'MYSVC'
    AND state = 'SUCCEEDED'
    AND data_timestamp >= DATEADD(DAY, -30, CURRENT_DATE())
  ORDER BY data_timestamp DESC;
Copy
语言: 中文