CREATE ONLINE FEATURE TABLE¶
在当前/指定架构中创建新的在线特征表或替换现有表。
- 另请参阅:
ALTER ONLINE FEATURE TABLE、DESCRIBE ONLINE FEATURE TABLE、DROP ONLINE FEATURE TABLE、SHOW 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>
必填参数¶
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 权限。
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
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;
在此示例中,ID 和 TS 分别指的是现有动态表 MY_SOURCE_DYNAMIC_TABLE 中的相应列。