CREATE ONLINE FEATURE TABLE

在当前/指定架构中创建新的在线特征表或替换现有表。

另请参阅:

ALTER ONLINE FEATURE TABLEDESCRIBE ONLINE FEATURE TABLEDROP ONLINE FEATURE TABLESHOW ONLINE FEATURE TABLES

语法

CREATE [ OR REPLACE ] ONLINE FEATURE TABLE <name>
  PRIMARY KEY ( <col_name> [ , <col_name> , ... ] )
  TARGET_LAG = '<num> { seconds | minutes | hours | days }'
  WAREHOUSE = <warehouse_name>
  [ REFRESH_MODE = { AUTO | FULL | INCREMENTAL } ]
  [ TIMESTAMP_COLUMN = <col_name> ]
  [ [ WITH ] COMMENT = '<string_literal>' ]
  [ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
FROM <source>
Copy

必填参数

name

指定在线特征表的标识符(即名称)的字符串;对于在其中创建表的架构必须是唯一的。

PRIMARY KEY ( col_name [ , col_name , ... ] )

指定表所需的主键约束条件。主键是表中每一行的唯一标识符,并且在快速 SELECT 查询中充当查找键。

TARGET_LAG = 'num { seconds | minutes | hours | days }'

指定在线特征表的内容应滞后于源更新的最长时间。

必须介于 10 秒和 8 天之间(含 10 秒和 8 天)。

WAREHOUSE = warehouse_name

指定提供计算资源以刷新在线特征表的仓库的名称。

您必须使用对此仓库具有 USAGE 权限的角色,才能创建在线特征表。

FROM source

指定在线特征表的数据源。必须是视图或动态表。

可选参数

REFRESH_MODE = { AUTO | FULL | INCREMENTAL }

指定在线特征表的刷新模式。

备注

创建在线特征表后,无法更改此属性。要修改属性,请重新创建在线特征表。

AUTO

当刷新模式为 AUTO 时,系统默认尝试应用增量刷新。但是,当增量刷新不受支持或预计无法良好运行时,在线特征表会自动选择完全刷新。

要确定适合您用例的最佳模式,请尝试不同的刷新模式和自动建议。要在不同的 Snowflake 版本中保持一致的行为,可在所有在线特征表上显式设置刷新模式。

要验证在线特征表的刷新模式,请使用 SHOW ONLINE FEATURE TABLES 命令查看在线特征表刷新模式。

FULL

强制在线特征表完全刷新,即使在线特征表可以增量刷新。

INCREMENTAL

强制在线特征表增量刷新。如果作为在线特征表基础的查询无法执行增量刷新,则在线特征表创建失败并显示错误消息。

默认:AUTO

TIMESTAMP_COLUMN = col_name

指定源中被视为时间戳列的列。

默认:无值

COMMENT = 'string_literal'

指定在线特征表的注释。

默认:无值

TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )

指定标签名称和标签字符串值。标签值的最大字符数为 256。

默认:无值

访问控制要求

权限

对象

备注

CREATE ONLINE FEATURE TABLE

架构

对架构具有 CREATE ONLINE FEATURE TABLE 权限的角色。

USAGE

仓库

在 WAREHOUSE 参数中指定的仓库中为必填

要对架构中的任何对象执行操作,需要对父数据库和架构的 USAGE 权限。请注意,如果某个角色获授某个架构的任意权限,该角色便能够解析该架构。例如,若某角色被授予 CREATE 权限,则可以在该架构上创建对象,而无需 同时 被授予该架构的 USAGE 权限。

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

使用说明

  • OR REPLACE 和 IF NOT EXISTS 子句互斥。它们不能同时用于同一条语句中。

  • CREATE OR REPLACE <object> 语句是原子的。也就是说,当对象被替换时,旧对象将被删除,新对象将在单个事务中创建。

注意

客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段

示例

以下示例创建了一个名为 my_online_feature_table 的在线特征表,其中主键在 ID 列:

CREATE ONLINE FEATURE TABLE my_online_feature_table
  PRIMARY KEY (ID)
  TIMESTAMP_COLUMN = 'TS'
  TARGET_LAG = '30 seconds'
  WAREHOUSE = MY_WAREHOUSE
FROM MY_SOURCE_DYNAMIC_TABLE;
Copy

在此示例中,IDTS 分别指的是现有动态表 MY_SOURCE_DYNAMIC_TABLE 中的相应列。

语言: 中文