2022 年 1 月¶
本月推出了以下新功能、行为变更和更新(增强、修复等)。如果您对这些新增功能有任何疑问,请联系 Snowflake 支持部门 (https://community.snowflake.com/s/article/How-To-Submit-a-Support-Case-in-Snowflake-Lodge)。
重要
每个版本都可能包含需要刷新 Web 界面的更新。
为确保这些更新不会影响您的使用,我们建议的一般做法是在部署每个 Snowflake 版本后刷新 Web 界面。
本主题内容:
新功能¶
AWS 上的 Java UDFs – 正式发布¶
在此版本中,Snowflake 很高兴地宣布,对 AWS 上的 Java UDFs(用户定义的函数)的支持已正式发布。
用户可以用 Java 编程语言编写自定义函数,并像调用内置函数一样调用这些函数。用户可以内联提供 Java 源代码或自带 JAR 文件(包括库)。
有关更多信息,请参阅 Java UDFs 简介。
Snowpark on AWS – 正式发布¶
在此版本中,我们很高兴地宣布 Snowpark on AWS 已正式发布。
Snowpark 是一种全新的开发者体验,为在数据管道中查询和处理数据提供了直观的 API。使用该库,您可以构建在 Snowflake 中处理数据的应用程序,而无需将数据移至您的应用程序代码运行所在的系统。
Snowpark 有几项区别于其他客户端库的功能:
Snowpark API 提供用于构建 SQL 语句的编程语言结构。
例如,API 提供了一个 select 方法,您可以使用该方法指定要返回的列名称,而不是将“select column_name”写为字符串。
尽管您仍然可以使用字符串来指定要执行的 SQL 语句,但是当您使用 Snowpark 提供的本机语言结构时,您将从 智能代码完成 (link removed) 和类型检查等功能中受益。
Snowpark 操作在服务器上延迟执行,这减少了客户端和 Snowflake 数据库之间传输的数据量。
Snowpark 的核心抽象是 DataFrame,它代表一组数据,并提供对数据进行操作的方法。在您的客户端代码中,您构建了一个 DataFrame 对象并对其进行设置,以检索要使用的数据(例如,包含数据的列、要应用于行的筛选器等)。
构建 DataFrame 对象时不会检索数据。相反,当您准备好检索数据时,可以执行一项操作来评估 DataFrame 对象,并将相应的 SQL 语句发送到 Snowflake 数据库以供执行。
您可以在代码中创建用户定义的函数 (UDFs),Snowpark 可以将您的代码推送到服务器,以便代码在服务器上对数据进行操作。
您可以使用与编写客户端代码相同的语言来编写函数(例如,在 Scala 中使用匿名函数)。要使用这些函数处理 Snowflake 数据库中的数据,您需要在自定义代码中定义并调用用户定义的函数 (UDFs)。
Snowpark 会自动将 UDFs 的自定义代码推送到 Snowflake 数据库。当您在客户端代码中调用 UDF 时,您的自定义代码将在服务器(数据所在位置)上执行。您无需将数据传输到客户端即可对数据执行函数。
Snowpark 可用于 Scala 编程语言。
有关更多信息,请参阅 Snowpark API。
非结构化数据支持 – 正式发布¶
在此版本中,我们很高兴地宣布,Snowflake 正式发布对于非结构化数据的支持。此功能使用户能够访问、加载、治理和共享 Snowflake 本身不支持的数据类型的非结构化文件,其中包括某些行业特定的类型。除对结构化和半结构化数据的现有强大支持外,还增加了对非结构化文件的支持。
通过以下功能提供对非结构化数据文件的支持:
Snowflake Scripting – 预览版¶
在此版本中,我们很高兴地宣布推出 Snowflake Scripting 预览版。
Snowflake Scripting 是 Snowflake SQL 的扩展,增加了对过程逻辑的支持。您可以使用 Snowflake Scripting 在 SQL 中编写存储过程。
有关更多信息,请参阅 Snowflake Scripting 开发者指南。
数据加载更新¶
Snowpipe:Amazon Web Services 上的 Snowflake 账户错误通知 – 预览版¶
在此版本中,我们很高兴地宣布推出适用于 Snowpipe 的错误通知的预览版。当 Snowpipe 从暂存文件加载数据时,如果遇到错误,此功能会触发通知,使用云消息传递描述该错误,以便对文件中的数据进行进一步分析。
备注
目前,该功能仅限于 Amazon Web Services (AWS) 上托管的 Snowflake 账户。账户中的管道对象可以从任何支持的云存储服务中的文件加载数据;但是,Snowpipe 只能将错误通知推送到 Amazon Simple Notification Service。
为托管在 Google Cloud 或 Microsoft Azure 上的 Snowflake 账户以及相应云消息服务提供支持已在我们的计划之内。
该功能支持调用 Snowpipe REST API 以及使用云消息传递服务的自动化(自动引入)Snowpipe。
预览版功能用于评估和测试目的,不建议在生产环境中使用。
数据治理更新¶
带条件列的掩码策略 – 正式发布¶
在此版本中,Snowflake 很高兴地宣布,条件列(即实参)作为掩码策略签名的可选配置已正式发布。在掩码策略签名中使用条件列时,第一列及其数据类型总是指定掩码策略表达式所操作的列(即掩码或解除掩码数据)。
这些附加列可以包含在掩码策略表达式中,以确定是否应该遮掩第一列中的数据。在掩码策略签名中使用条件列,可以让掩码策略管理员在创建遮掩或取消遮掩数据的策略条件时更加自由。
有关更多信息,请参阅 了解列级安全性。
Web 界面更新¶
新的 Web 界面:复制历史记录仪表板 – 预览版¶
在此版本中,Snowflake 推出了 Copies Over Time 仪表板,可显示批量数据加载(即使用 COPY INTO <table> 命令)和 Snowpipe 的复制历史记录的 365 天视图。要查看账户中所有表的复制历史记录,请在左侧导航栏中点击 Compute » History » Copies。
您还可以查看某个表的 Copies Over Time 页面。要查看仪表板,请 浏览数据库对象 并选择一个表。在表详细信息页面,点击 Copy History。
请注意,新的 Web 界面目前处于预览状态。