2022 年 6 月

本月推出了以下新功能、行为变更和更新(增强、修复等)。如果您对这些新增功能有任何疑问,请联系 Snowflake 支持部门 (https://community.snowflake.com/s/article/How-To-Submit-a-Support-Case-in-Snowflake-Lodge)。

重要

每个版本都可能包含需要刷新 Web 界面的更新。

为确保这些更新不会影响您的使用,我们建议的一般做法是在部署每个 Snowflake 版本后刷新 Web 界面。

本主题内容:

新功能

适用于 Python 的 Snowpark API – 预览版

我们很高兴地宣布推出适用于 Python 的 Snowpark API 预览版。

Snowpark 是一种全新的开发者体验,为在数据管道中查询和处理数据提供了直观的 API。使用该库,您可以构建在 Snowflake 中处理数据的应用程序,而无需将数据移至您的应用程序代码运行所在的系统。

预览版功能用于评估和测试目的,不建议在生产环境中使用。

有关更多信息,请参阅 Snowpark Python 开发者指南

Python UDFs – 预览版

我们很高兴地宣布推出 Python UDFs 预览版(用户定义的函数)。

现在,用户可使用 Python 编程语言编写自定义函数,并像调用内置函数一样调用这些函数。

预览版功能用于评估和测试目的,不建议在生产环境中使用。

有关更多信息,请参阅 Python UDFs 简介

Python UDF 批处理接口 – 预览版

我们很高兴地宣布推出 Python UDF 批处理 API 预览版。

Python UDF 批处理 API 可以定义 Python 函数,以 Pandas DataFrames 的形式成批接收输入行,并以 Pandas 数组或序列的形式成批返回结果。您使用批处理 API 调用 Python UDFs 的方式与调用其他 Python UDFs 的方式相同。

预览版功能用于评估和测试目的,不建议在生产环境中使用。

有关更多信息,请参阅 矢量化 Python UDFs

Python UDTFs – 预览版

我们很高兴地宣布推出 Python UDTFs 预览版(用户定义的表函数)。

Python UDTFs 将表函数的优势与 Python 编程的强大功能、灵活性和简易性相结合,从而扩展了 Snowflake 的原生开发功能。

预览版功能用于评估和测试目的,不建议在生产环境中使用。

有关更多信息,请参阅 用 Python 编写 UDTF

适用于 Python 的 Snowpark Stored Procedures – 预览版

我们很高兴地宣布推出适用于 Python 的 Snowpark Stored Procedures 预览版,该预览版允许您使用 Snowpark API 在 Python 中编写存储过程。

在存储过程中,您可以使用 Snowpark API 让 Python 在 Snowflake 中托管您的数据管道。例如,当您需要在不运行客户端应用程序的情况下(如从任务中)执行 Snowpark 代码时,您可以编写存储过程。

预览版功能用于评估和测试目的,不建议在生产环境中使用。

有关更多信息,请参阅 使用 Python 编写存储过程

新区域

我们很高兴地宣布,以下新区域将立即投入使用:

云平台

区域

Microsoft Azure

印度中部(浦那)

随着该区域的加入,Snowflake 现在支持三个云平台(AWS、GCP 和 Azure)的 32 个全球区域,其中包括三个支持遵守 US 政府法规的区域。

新区域支持所有 Snowflake 版本。您可以通过 自助服务 (https://signup.snowflake.com/) 或 Snowflake 代表在区域中预置初始账户。

SQL 更新

ALTER TAG 命令:新增对掩码策略的支持

在此版本中,Snowflake 更新了 ALTER TAG 命令,允许指定掩码策略。

语法

描述

ALTER TAG <tag_name> SET MASKING POLICY <masking_policy_name> [ , MASKING POLICY <masking_policy_2_name> , ... ]

ALTER TAG <tag_name> UNSET MASKING POLICY <masking_policy_name> [ , MASKING POLICY <masking_policy_2_name> , ... ]

使用 ALTER TAG 命令在标签上设置掩码策略或取消标签上的掩码策略。

请注意,ALTER TAG 命令的语法允许在一条语句中为一个标记分配多个掩码策略,而且该命令只支持为每种数据类型(如 VARCHAR、NUMBER)分配一个掩码策略。

新函数

此版本现在提供以下函数:

类别

名称

描述

系统

SYSTEM$GET_TAG_ON_CURRENT_COLUMN

根据指定的标签,返回分配给列的标签字符串;如果未向指定列分配标签,则返回 NULL。

请注意,此函数只能在掩码策略条件下使用。

系统

SYSTEM$GET_TAG_ON_CURRENT_TABLE

根据指定的标签,返回分配给表的标签字符串;如果没有为指定的表分配标签,则返回 NULL。

请注意,此函数只能在掩码策略条件或行访问策略条件下使用。

虚拟仓库更新

DML 延迟改进

我们很高兴地宣布,对于具有大量并发 DML 操作(如每秒超过 100 个 DML 作业)的工作负载(如引入工作负载或类似 OLTP 的工作负载),DML 延迟得到了改进。这些改进可以加快写入密集型工作负载的速度,并减少仓库负载。

大型仓库 – 预览版

在这个版本中,我们很高兴地宣布大型(5X-LARGE 和 6X-LARGE)仓库的性能得到了改进。这些大型仓库可以提高计算密集型工作负载的性能,并更快地处理大型数据集。

此预览功能目前适用于位于 EU (爱尔兰)的 Amazon Web Services (AWS),其他区域也将陆续推行。在配置 5X-LARGE 或 6X-LARGE 仓库之前,请联系 Snowflake 支持部门 (https://community.snowflake.com/s/article/How-To-Submit-a-Support-Case-in-Snowflake-Lodge)。在预览阶段,这些规模的配置时间可能会稍长一些。

有关更多信息,请参阅 仓库概述

数据加载更新

Snowpipe:针对 Google Cloud Pub/Sub 或 Microsoft Azure 事件网格的错误通知 – 预览版

我们很高兴地宣布,Snowpipe 错误通知预览版支持推送至 Google Cloud Platform Pub/Sub 或 Microsoft Azure 事件网格云消息服务。当 Snowpipe 在从任何受支持的云存储服务中暂存的文件加载数据时,如果遇到错误,此功能会触发描述错误的通知,以便对文件中的数据进行进一步分析。

备注

  • 自 1 月份起,此功能支持将错误消息推送到 Amazon Simple Notification Service (SNS)。

  • 此功能不提供跨云支持。Snowpipe 可以从任何支持的云存储服务中的文件加载数据;但是,此功能只能将错误通知推送到托管您的 Snowflake 账户的云平台的相应消息服务中:

    • Amazon Simple Notification Service

    • Google Pub/Sub

    • Microsoft Azure 事件网格

此功能可推送自动引入 Snowpipe 负载或调用 Snowpipe REST API 的错误通知。

预览版功能用于评估和测试目的,不建议在生产环境中使用。

Snowpipe:支持非管道所有者调用 Snowpipe REST API

在此版本中,调用公共 Snowpipe REST 端点 加载数据和检索加载历史记录报告不再仅限于管道所有者(即管道上拥有 OWNERSHIP 权限的角色)或角色层次结构中的更高角色。以下管道权限允许调用特定的 REST 端点:

管道权限

REST 端点

MONITOR

insertReportloadHistoryScan

OPERATE

insertFiles

其他现有的 访问控制要求 保持不变。

数据管道更新

任务: DAG 支持 – 预览版

我们很高兴地宣布任务支持 有向无环图 (DAG) 预览版。DAG 是一系列任务,由单个根任务和附加任务组成,并根据它们之间的依赖关系进行组织。以前,用户只能使用任务树,其中每个任务最多只有一个前置任务(父任务)。在 DAG 中,每个非根任务都有多个可依赖的前置任务,以及依赖于它的多个后续(子)任务。

下面是一个非常简单的例子:

任务的 DAG 支持

根任务 (A) 按计划运行,例如“每 5 分钟”或“每天 5 AM或 5 PM”。当任务 A 运行完成时,任务 B 和任务 C 同时运行。任务 D 仅在任务 B 和任务 C 完成运行时才开始运行。

DAGs 支持使用任务树无法或难以实现的并行处理工作流,包括:

  • 在聚合仪表板事实之前,并发更新一组维度表。

  • 在之前所有任务运行完成后,使用外部函数通过远程消息服务提示通知。

数据治理更新

Data Classification – 正式发布

在此版本中,Snowflake 很高兴地宣布 AWS 和 Azure 上的 Enterprise Edition(或更高版本)账户的 分类简介 已正式发布。该功能曾在 2 月份的预览版中推出,目前仍处于 GCP 的预览版中。

分类功能可对存储在 Snowflake 表和视图中的潜在个人和/或敏感数据进行分类,然后可用于实现各种数据管理、共享和隐私使用案例。

随着此功能 GA,我们引入了一种新的数据分类模型,可生成改进的预测模型和数据模式。此外,分类过程现在包括输入中指定的每个表列的输出,包括:

  • 具有以前无法分类的数据类型的列。

  • 仅包含 NULL 值的列。

您必须为使用以前的数据分类模型分类的任何数据生成新结果,才能看到 GA 改进带来的好处。

备注

由于新的数据分类模型在对数据进行重新分类时可能会返回潜在不同结果,因此新模型尚未普遍启用。相反,它已作为 2022_04 捆绑包中的行为变更来实现。

目前,要使用新的数据分类模型,您必须选择加入 2022_04 捆绑包。有关捆绑包的更多详细信息,请参阅 6.21 行为变更版本说明 (https://community.snowflake.com/s/article/6-21-Behavior-Change-Release-Notes-June-22-23-2022)。

基于标签的掩码策略 – 预览版

在此版本中,Snowflake 很高兴地宣布推出基于标签的掩码策略预览版。基于标签的掩码策略结合了 Object Tagging 和掩码策略功能,允许使用 ALTER TAG 命令在标签上设置掩码策略。该功能还引入了两个新的 系统函数,即 SYSTEM$GET_TAG_ON_CURRENT_COLUMN 和SYSTEM$GET_TAG_ON CURRENT_TABLE,这两个函数可用于获取策略条件中的字符串值。

当掩码策略签名中的数据类型与列的数据类型匹配时,标记的列将自动受到掩码策略中条件的保护。这简化了数据保护工作,因为应受保护的列数据不再需要对列手动应用掩码策略来保护数据。

请注意,直接应用于使用 ALTER TABLE ...ALTER COLUMN 命令的列的掩码策略优先于基于标签的掩码策略。有关详细信息,请参阅 基于标签的掩码策略

文档和学习资源

重组安全集成主题

在此版本中,Snowflake改进了以下 SQL 命令的文档:

  • CREATE SECURITY INTEGRATION

  • ALTER SECURITY INTEGRATION

现有主题的内容现已划分为更小的主题,专门针对以下每种类型的安全集成:

  • External OAuth

  • Snowflake OAuth

  • SCIM

  • SAML2

为了支持这一更改,在 TOC 下的 SQL Command Reference » All Commands 中新增了八个条目。

语言: 中文