2023 年 6 月 7–8 日 – 7.19 版本说明(包含行为变更)

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

重要

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

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

本主题内容:

行为变更捆绑包

此版本包含以下行为变更捆绑包:

捆绑包名称

此版本中的状态

以前的状态

2023_04

默认禁用;管理员可启用以进行测试

不适用(在此版本中推出)

2023_03

默认启用;管理员可禁用以选择退出

默认禁用

2023_02

一般情况下启用;管理员无法再启用/禁用

默认启用

每个捆绑包的状态将在计划于 7 月份发布的下一个行为变更版本中更改;但是,该计划可能会发生变化。

有关捆绑包状态及其如何影响账户的更多信息,请参阅 关于行为变更

新功能

匿名过程 – 正式发布

在此版本中,我们很高兴地宣布全面支持创建匿名过程。匿名过程类似于存储过程,但不存储以供以后使用。

您可以使用 WITH...CALL 语法创建匿名过程。使用此命令,您可以创建由 WITH 子句中的参数定义的匿名过程,并调用该过程。使用此命令时,您不需要具有 CREATE PROCEDURE 架构权限的角色。

使用 Java 函数或过程处理程序读取文件 – 正式发布

在此版本中,我们很高兴地宣布,正式支持使用 Java 编写的 UDF 或过程处理程序代码读取暂存文件。

有关更多信息,请参阅 使用 Java UDF 读取文件使用 Java 过程读取文件

使用 Scala 函数或过程处理程序读取文件 – 预览版

在此版本中,我们很高兴地宣布,已针对支持使用 Java 编写的 UDF 或过程处理程序代码读取暂存文件推出预览版。

有关更多信息,请参阅 使用 Scala UDF 读取文件使用 Scala 过程读取文件

使用 Python 函数或过程读取文件 – 预览版

在此版本中,我们很高兴地宣布针对支持使用 SnowflakeFile 类读取文件的 Python 推出预览版。

SnowflakeFilesnowflake.snowpark.files 模块中的一个新类,用于为内部或外部暂存区的文件提供动态读取访问权限。使用 SnowflakeFile,可以流式传输文件以完成任务,例如读取非结构化数据或在用户定义函数 (UDF)、用户定义的表函数 (UDTF) 或存储过程中使用自己的机器学习模型。

有关更多信息,请参阅:

JSON 和 CSV 的架构检测 – 预览版

在此版本中,我们很高兴地宣布 JSON 和 CSV 架构检测功能的预览版。架构检测功能使用 INFER_SCHEMA 函数自动检测一组暂存数据文件中的架构并检索列定义。正式发布 INFER_SCHEMA 函数,适用于 Apache Parquet、Apache Avro 和 ORC 文件。此预览功能将支持范围扩展为包含 JSON 和 CSV 文件。

有关更多信息,请参阅 从暂存的半结构化数据文件中对列定义进行架构检测

表模式演化 – 预览版

在此版本中,我们很高兴地宣布推出表模式演化功能的预览版。现在,Snowflake 中的表结构可以自动演化,以支持从数据源接收的新数据结构。Snowflake 允许在新数据文件中添加新列或弃用缺失列中的 NOT NULL 约束,并支持弃用列或更改现有列的数据类型、长度或精度。

要启用表模式演化,您可以在创建或更改表时将 ENABLE_SCHEMA_EVOLUTION 参数设置为 TRUE。

有关更多信息,请参阅 表模式演化

SQL 更新

在 Snowpark、UDFs 和存储过程中的 Python 3.9 支持 – 预览版

在此版本中,我们很高兴地宣布,Snowpark Python、Python UDFs 和 Python 存储过程中的 Python 3.9 支持将作为预览版功能提供给所有账户。

有关更多信息,请参阅:

UDFs、UDTFs 和存储过程支持按名称传递实参

现在,在调用 UDF、UDTF 或存储过程时,除了按位置传递实参外,还可以按名称传递实参。

例如,假设您使用以下语句创建了一个 UDF:

CREATE OR REPLACE FUNCTION add_numbers (n1 NUMBER, n2 NUMBER)
  RETURNS NUMBER
  AS 'n1 + n2';
Copy

若要按名称传递实参,请指定实参名称,后跟 => 和实参值。例如:

SELECT add_numbers(n1 => 10, n2 => 5);
Copy

您可以按任意顺序传递实参:

SELECT add_numbers(n2 => 5, n1 => 10);
Copy

有关更多信息,请参阅:

如果存在多个名称相同、实参个数相同、实参数据类型不同的函数或存储过程,可以在调用中指定实参名称,以指示执行哪个函数或存储过程。在调用中指定的实参名称优先于实参位置。有关更多信息,请参阅 重载过程和函数

最后,以下内置函数支持按名称传递实参:

数据科学更新

使用 Snowflake 即将推出的 ML 功能

此版本为 Snowflake 数据库推出了一个新架构“ML”以及一个 ML_USER SNOWFLAKE 数据库角色,该角色授予包含共享 SNOWFLAKE 数据库的所有账户中的 PUBLIC 角色。

有关更多信息,请参阅:

架构、角色和权限支持功能将在 Snowflake 2023 峰会的公开预览版中提供。

组织更新

ACCOUNTS 视图 (Organization Usage) – 预览版

在此版本中,我们很高兴地宣布在 ORGANIZATION_USAGE 架构中推出 ACCOUNTS 视图。ACCOUNTS 视图允许组织管理员获取有关组织中账户的详细信息,包括过去一年内删除的账户。

有关更多信息,请参阅 ACCOUNTS 视图

Web 界面更新

新组织仅具有 Snowsight 访问权限

从 2023 年 5 月 30 日开始,新 Snowflake 组织只能访问 Snowsight,不能再访问 Classic Console。

有关更多信息,请参阅 关于 Snowsight 升级

语言: 中文