2022 年 10 月¶
本月推出了以下新功能、行为变更和更新(增强、修复等)。如果您对这些新增功能有任何疑问,请联系 Snowflake 支持部门 (https://community.snowflake.com/s/article/How-To-Submit-a-Support-Case-in-Snowflake-Lodge)。
重要
每个版本都可能包含需要刷新 Web 界面的更新。
为确保这些更新不会影响您的使用,我们建议的一般做法是在部署每个 Snowflake 版本后刷新 Web 界面。
本主题内容:
SQL 更新¶
功能更新: SYSTEM$GET_TAG & TAG_REFERENCES (Information Schema):新增对存储过程的支持¶
在此版本中,Snowflake 增加了对在调用 SYSTEM$GET_TAG 函数和调用 TAG_REFERENCES Information Schema 表函数时将存储过程指定为对象域的支持。使用这两个函数时,请为对象域指定 PROCEDURE
。
新函数¶
推出了以下新函数:
类别 |
名称 |
描述 |
---|---|---|
系统 |
此函数的行为与 SYSTEM$WHITELIST 相同,后者现已弃用。 |
|
系统 |
此函数的行为与 SYSTEM$WHITELIST_PRIVATELINK 相同,后者现已弃用。 |
请使用 SnowCD 的新函数。2023 年 1 月 10 日起,不再支持已弃用的功能。请更新所有工作负载,使用新函数替换已弃用的函数。有关详细信息,请参阅 已弃用的功能 (https://community.snowflake.com/s/article/Pending-Behavior-Change-Log#deprecated) 列表(社区内容)。
新的 CREATE ACCOUNT 参数¶
在此版本中,使用 CREATE ACCOUNT 命令创建新账户的组织管理员可以选择为账户的初始管理用户实施密钥对身份验证。以前,初始用户始终拥有用户名/密码凭据。
增加了下列 CREATE ACCOUNT 参数:
参数 |
描述 |
---|---|
ADMIN_RSA_PUBLIC_KEY = <string> |
指定新账户的初始管理用户的公钥。 |
有关更多详细信息,请参阅 CREATE ACCOUNT。
匿名过程 – 预览版¶
在此版本中,我们很高兴地宣布推出匿名过程的预览版,匿名过程类似于存储过程,但不会被存储以供日后使用。此外,与存储过程不同,创建匿名过程不需要 CREATE PROCEDURE 架构权限。
通过指定以 WITH 子句为前缀的 CALL 命令,可以创建并调用匿名过程。WITH 子句指定了过程的详细信息,包括参数、返回类型、处理程序语言等。CALL 命令调用该过程。
有关更多详细信息,请参阅 CALL(使用匿名过程)。
搜索优化服务:支持所有区域的列配置、子字符串和正则表达式搜索、VARIANT 和 GEOGRAPHY – 预览版¶
我们很高兴地宣布,现在所有区域都支持对表中特定列的搜索优化(预览版)。
此外,我们还在所有区域的 搜索优化服务 中推出了对以下类型谓词的查询支持的预览版:
使用字符串模式的谓词(例如 LIKE、ILIKE 等)和 POSIX 正则表达式(例如 REGEXP)。
使用 VARIANT、ARRAY 和 OBJECT 列中字段的谓词。
使用选定地理空间函数( GEOGRAPHY 列的查询)的谓词。
您可以为表中的特定列和 VARIANT 字段启用对这些方法的支持。例如,对于给定列,可以启用对等值和字符串模式搜索的优化支持。
预览版功能用于评估和测试目的,不建议在生产环境中使用。
有关更多信息,请参阅 搜索优化服务。
PARSE_XML 和 CHECK_XML 功能:禁用自动转换的新实参¶
默认情况下,PARSE_XML 和 CHECK_XML 函数尝试将数值和布尔值转换为其相应的 Snowflake 数据类型。
在此版本中,Snowflake 提供了一个新的可选实参来禁用此转换:
PARSE_XML( '<string_containing_xml>' [ , <disable_auto_convert> ] )
CHECK_XML( '<string_containing_xml>' [ , <disable_auto_convert> ] )
如果您不希望函数执行此转换,请将 TRUE 作为第二个实参。例如:
SELECT PARSE_XML('<test>22257e111</test>', TRUE);
数据管道更新¶
任务:手动执行运行 – 正式发布¶
在此版本中,我们很高兴地宣布,EXECUTE TASK SQL 命令已正式发布。此命令使任务操作员或所有者能够手动执行计划任务的单次运行(即任务树中的独立任务或根任务)。执行根任务的运行会触发树中子任务的级联运行,就像根任务按照其定义的计划运行一样。以前,计划任务只能在下一次计划运行发生时启动。
EXECUTE TASK 命令用于测试新的或修改过的独立任务,然后再将其纳入生产计划。在脚本或存储过程中调用此 SQL 命令,或使用第三方工具或服务执行命令,将任务集成到外部数据管道中。
任务:Amazon Web Services 上的 Snowflake 账户错误通知 – 正式发布¶
在此版本中,Snowflake 很高兴地宣布,任务错误通知已正式发布。当任务在运行过程中遇到错误时,该功能会触发一个通知,使用云消息描述错误,以便进一步分析任务定义中的 SQL 代码。
备注
目前,该功能仅限于 Amazon Web Services (AWS) 上托管的 Snowflake 账户。Snowflake 只能将错误通知推送到 Amazon Simple Notification Service。
为托管在 Google Cloud 或 Microsoft Azure 上的 Snowflake 账户以及相应云消息服务提供支持已在我们的计划之内。
复制更新¶
数据库复制:流和任务支持 – 预览版¶
在此版本中,数据库复制和故障转移/故障恢复现在包括对流和任务对象复制的预览支持。有关更多信息,请参阅 复制和流 和 复制和任务。
数据治理更新¶
访问历史记录中的列沿袭 – 预览版¶
在此版本中,Snowflake 很高兴地宣布在预览版中推出列沿袭。列沿袭(即列的访问历史记录)扩展了 Account Usage ACCESS_HISTORY 视图中的 objects_modified
列,以指定在写入操作中数据如何从源列流向目标列。Snowflake 会通过所有引用源列数据的后续表对象(如 INSERT、MERGE、CTAS)跟踪源列的数。
有关详细信息,请参阅 访问历史记录 和 ACCESS_HISTORY 视图。
Object Tagging:新增对存储过程的支持¶
在此版本中,Snowflake 增加了为存储过程分配标签的支持。
有关语法和用法的详细信息,请参阅 功能更新: SYSTEM$GET_TAG & TAG_REFERENCES (Information Schema):新增对存储过程的支持 (本主题内容)。
Object Tagging:增加对象和列的标签配额¶
在此版本中,Snowflake 增加了可在对象和列上设置的标签数量,如下所示:
对于非表、非视图的对象:50 个唯一标签。
对于表、视图和列:
对于表或视图对象本身:50 个唯一标签。
对于表或视图中组合的所有列:50 个唯一标签。
对于表或视图及其所有列:共 100 个标签。
请注意,单个 CREATE <object> 或 ALTER <object> 语句在一个语句中最多可以指定 100 个标签。
有关详细信息,请参阅 对象和列的标签配额。
基于标签的掩码策略 – 正式发布¶
在此版本中,Snowflake 很高兴地宣布,基于标签的掩码策略已正式发布。基于标签的掩码策略结合了对象标记和掩码策略功能,允许使用 ALTER TAG 命令在标签上设置掩码策略。此功能已于 2022 年 6 月 在预览版中发布。
有关详细信息,请参阅 基于标签的掩码策略。
虚拟仓库更新¶
大型仓库 – 正式发布¶
在此版本中,我们很高兴地宣布,Amazon Web Services (AWS) 区域中的大型(5X-LARGE 和 6X-LARGE)仓库已正式发布。
在配置 5X-LARGE 或 6X-LARGE 仓库之前,请联系 Snowflake 支持部门 (https://community.snowflake.com/s/article/How-To-Submit-a-Support-Case-in-Snowflake-Lodge)。
有关更多信息,请参阅 仓库概述。