Databricks SQL 发行说明

本文列出了新的 Databricks SQL 功能和改进,以及已知问题和常见问题解答。

发布过程

Databricks 会持续发布 Databricks SQL Web 应用程序用户界面的更新,所有用户都会在短时间内获得推出的相同更新。

此外,Databricks 通常会定期发布新的 SQL 仓库计算版本。 两个通道始终可用:“预览”和“当前”。

注意

发布分阶段进行。 Databricks 帐户只有在初始发布日期后一周或更长时间之后才可能更新为新的 SQL 仓库版本或 Databricks SQL 功能。

注意

Databricks SQL 无服务器在 Azure 中国区域不可用。 Databricks SQL 在 Azure 政府区域不可用。

通道

使用通道,你可以在“当前”SQL 仓库计算版本或“预览”版本之间进行选择。 预览版可让你在某些功能成为 Databricks SQL 标配之前试用这些功能。 利用预览版本针对即将发生的更改测试你的生产查询和仪表板。

通常,预览版本会在发布到预览版通道大约两周后升级为当前通道。 某些功能(如安全功能、维护更新和 bug 修复)可能会直接发布到当前通道。 Databricks 可能会经常将预览版本提升到当前的通道,并按不同的时间表进行。 每个新版本将在以下部分中公布。

若要了解如何将现有 SQL 仓库切换到预览版通道,请参阅预览版通道。 用户界面更新部分中列出的功能独立于发行说明的 Channels 部分中所述的 SQL Warehouse 计算版本。

可用的 Databricks SQL 版本

当前频道:Databricks SQL 版本 2024.50

预览频道:Databricks SQL 版本 2024.50

2025 年 1 月 30 日

以下功能和更新在 2025 年 1 月 30 日这一周发布。

用户界面更新

SQL 仓库

已完成的查询计数 图表(公共预览版)现已在 SQL 仓库监视 UI 上提供。 此新图表显示时间范围内完成的查询数,包括已取消和失败的查询。 该图表可以与其他图表和查询历史记录表一起使用,以评估和排查仓库性能问题。 查询在其完成时所属的时间窗口内分配。 每分钟将计数平均一次。 有关详细信息,请参阅监视 SQL 仓库

SQL 编辑器

  • 图表中显示的扩展数据: 在 SQL 编辑器中创建的可视化效果现在最多支持 15,000 行数据。

2025 年 1 月 23 日

以下功能和更新在 2025 年 1 月 23 日这一周发布。

2024.50 中的更改

Databricks SQL 版本 2024.50 包括以下行为更改、新功能和改进。

行为更改

  • VARIANT 数据类型不能再用于涉及比较的运算

不能在包含 VARIANT 数据类型的查询中使用以下子句或运算符:

  • DISTINCT
  • INTERSECT
  • EXCEPT
  • UNION
  • DISTRIBUTE BY

这些操作会执行比较,使用 VARIANT 数据类型的比较会生成未定义的结果,在 Databricks 中不受支持。 如果在 Azure Databricks 工作负荷或表中使用 VARIANT 类型,Databricks 建议进行以下更改:

  • 更新查询或表达式,以便以显式方式将 VARIANT 值强制转换为非 VARIANT 数据类型。
  • 如果字段必须与上述任何操作一起使用,请从 VARIANT 数据类型中提取这些字段,并使用非 VARIANT 数据类型存储它们。

若要了解详细信息,请参阅查询变体数据

新增功能和改进

  • 支持参数化 USE CATALOG with IDENTIFIER 子句

USE CATALOG 语句支持 IDENTIFIER 子句。 借助此支持,你可以根据字符串变量或参数标记来参数化当前目录。

  • 对表和视图的 COMMENT ON COLUMN 支持

COMMENT ON 语句支持更改视图列和表列的注释。

  • 新的 SQL 函数

以下新的内置 SQL 函数可用:

  • dayname(expr) 会返回给定日期的星期几的三个字母英语首字母缩略词。
  • uniform(expr1, expr2 [,seed]) 返回一个在指定数值范围内具有独立的同分布值的随机值。
  • randstr(length) 会返回一个长度为 length 的字母数字字符的随机字符串。
  • 为更多函数提供命名参数调用

以下函数支持命名参数调用

错误修复

  • 嵌套类型现在正确接受 NULL 约束

此版本修复了影响嵌套类型的某些 Delta 生成列的 bug,例如 STRUCT。 这些列有时会根据嵌套字段的 NULLNOT NULL 约束错误地拒绝表达式。 此问题已解决。

2025 年 1 月 15 日

以下更新在 2025 年 1 月 15 日这一周发布。

用户界面更新

SQL 编辑器

新的 SQL 编辑器(公共预览版)现在具有以下功能:

  • 下载命名: 下载的输出现在以查询条件命名。
  • 字号调整: 使用适用于 Windows/Linux 的 Alt +Alt -,或者适用于 macOS 的 Opt +Opt -,在 SQL 编辑器中快速调整字体大小。
  • 注释中的 @提及:提及注释中包含 @ 的特定用户。 提及的用户将收到电子邮件通知。
  • 改进选项卡切换:选项卡切换性能提高,已加载选项卡切换速度提升至 80%,未加载选项卡切换速度提升至 62%。
  • 查看仓库详细信息: SQL 仓库大小现在显示在计算选择器中,无需额外单击。
  • 编辑参数值: 使用适用于 Windows/Linux 的 Ctrl + Enter 或 macOS Cmd + Enter,在编辑参数值时运行查询。
  • 在版本历史记录中保留查询结果: 查询结果现在随版本历史记录一起存储。

可视化效果

已知问题

  • 从多群集负载均衡 SQL 终结点中的 Delta Lake 以外的数据源中读取的内容可能不一致。
  • 在 Databricks SQL 中访问的 Delta 表将其架构和表属性上传到配置的元存储。 如果使用的是外部元存储,则可以在元存储中查看 Delta Lake 信息。 Delta Lake 会尽最大努力使这些信息保持最新状态。 也可使用 DESCRIBE <table> 命令来确保元存储中的信息已更新。
  • Databricks SQL 不支持将“GMT+8”等区域偏移作为会话时区。 变通方法是改用基于区域的时区 https://en.wikipedia.org/wiki/List_of_tz_database_time_zones),如“Etc/GMT+8”。 有关设置时区的详细信息,请参阅 SET TIME ZONE

常见问题解答 (FAQ)

使用以下列表了解常见问题的解答。

Databricks SQL 工作负载如何计费?

Databricks SQL 工作负载按标准作业计算 SKU 收费。

SQL 仓库在何处运行?

经典和专业 SQL 仓库在 Azure 帐户中创建和管理。 SQL 仓库会自动在帐户中管理 SQL 优化群集,并缩放以满足最终用户的需求。

另一方面,无服务器 SQL 仓库使用 Databricks 帐户中的计算资源。 无服务器 SQL 仓库简化了 SQL 仓库配置和使用情况,并加速启动时间。 仅当为工作区 启用了无服务器选项时,该选项才可用。 有关详细信息,请参阅 无服务器计算平面

是否可以在同一工作区中的笔记本中使用 SQL 仓库?

是。 若要了解如何将笔记本附加到 SQL 仓库,请参阅 将笔记本用于 SQL 仓库

我已使用云提供商凭据授予了对数据的访问权限。 为什么无法在 Databricks SQL 中访问此数据?

在 Databricks SQL 中,对数据的所有访问都受限于数据访问控制,管理员或数据所有者必须首先授予你适当的权限