Important
此功能在 Beta 版中。 联系 Databricks 帐户团队,在帐户中启用此功能。
Lakehouse//RT 正在积极开发中。 在正式发布之前,性能特征和支持的功能集将发生变化。
Lakehouse Real-Time(Lakehouse//RT)是一种无服务器计算,专为低延迟、高并发用例而构建,例如为自定义应用程序提供分析数据、运行操作分析或支持需要数十到数千个并发用户的次秒响应的 BI 仪表板。
Lakehouse//RT 针对存储在云存储中并采用 Delta Lake 或 Apache Iceberg 格式的 Unity Catalog 表,可提供低于亚秒级的 SQL 读取查询延迟。 创建和管理 Lakehouse//RT 非常类似于执行其他 SQL 仓库。 工作区管理员或特权用户为每个工作区创建一个或多个,并向用户分配权限。
Requirements
若要使用 Lakehouse//RT,必须:
- 位于 受支持的区域中。
- 在工作区中启用 Lakehouse//RT Beta。
在工作区中启用 Lakehouse//RT
工作区管理员可以在工作区中启用 Lakehouse//RT Beta:
- 在工作区菜单(右上角)中,转到 “预览”。
- 搜索 Lakehouse RT。
- 启用预览。
启用预览后, 实时 仓库类型在工作区的 SQL 仓库创建流中可用。
创建 Lakehouse//RT 仓库
要创建 Lakehouse//RT 仓库: 请按以下步骤操作:
- 转到 计算>SQL 仓库>创建 SQL 仓库。
- 选择 “实时”。
- 根据查询所需的性能,选择查询 大小: 小、 中、 大或 X-Large。
- 配置自动缩放,以设定每小时最多可计费的 DBU 数。
- 设置自动停止以控制空闲仓库何时停止。
- 输入仓库的名称。
- 单击 “创建” 。
若要分配权限,请授予 Can 使用、 可以监视或 可以管理 给用户和组的权限,与 SQL 仓库相同。
注释
当前无法将现有 SQL 仓库升级到 Lakehouse//RT 或将现有 Lakehouse//RT 仓库降级为其他仓库类型。
确定 Lakehouse//RT 仓库的大小并进行缩放
Lakehouse//RT 有控制性能和成本的设置:
- 查询大小 控制单个查询可用的计算量。
- 自动缩放 控制仓库扩展到多大以服务并发查询。
- 自动停止 控制一个空闲仓库运行多久才会停止。
查询大小和自动缩放与无服务器SQL仓库的大小和扩展设置不同。
查询大小
查询大小决定了单个查询的最大计算能力,这决定了单个查询运行的速度。 它还会设定仓库运行的最低计算量,以及仓库运行期间你应被收取的最低费用。
你在创建仓库时设置查询大小。 选择 小号、中号、大号或 超大号。 更大的查询体积能让每个查询获得更多计算,从而获得更快的结果,同时成本也更高。
该设置在概念上类似于无服务器SQL仓库的大小,后者同样将可用的计算量设定为单一查询。
Autoscaling
自动扩展让仓库可以添加计算量以服务更多并发查询,然后在需求下降时释放。 你可以设置仓库可扩展的最大计算值,单位是DBU。
Lakehouse//RT 上的自动扩展与无服务器 SQL 仓库的集群扩展在几个方面不同:
- 它按 DBU 计量,而不是按集群计量。
- 最大值与查询大小无关。 你可以将小查询大小与高最大值配对,从而获得高并发,而每个查询的计算量都不增加。
- Lakehouse//RT 自动扩展只增加和移除所需的计算量,而不是按集群的增量进行。
要查看仓库的扩展情况,可以使用其 监控页面。
自动停车
自动停止是在仓库闲置一段时间后终止,这样空闲仓库不会继续积累费用。 创建仓库时,设置空闲超时时间。
Lakehouse//RT 上的自动停止功能和无服务器 SQL 仓库一样。 关于默认值和最小值,请参见 配置SQL仓库设置。
监控 Lakehouse//RT 活动
您可以像监控在 SQL 仓库上运行的任何查询一样监控 Lakehouse//RT 查询:
- 查询历史记录: Lakehouse//RT 查询显示在 查询历史记录 UI 和 查询历史记录系统表中。
- 查询分析:在查询历史记录 UI 中打开一个 Lakehouse//RT 查询,以查看其 查询分析。
- 监视页: 在每个 Lakehouse//RT 仓库的 监视页上 监视查询吞吐量、排队查询和查询历史记录。
-
计费: Lakehouse//RT 的使用情况在计费系统表中,其
sku_name为Lakehouse_Serverless。
最佳做法
若要从 Lakehouse//RT 获得最佳结果,请在将工作负载移出之前做好准备:
- 首先在无服务器 SQL 上验证。 在无服务器 SQL 仓库上运行查询,并确认查询在几秒钟内运行。
- 使用 Unity Catalog 管理的表。 采用 预测性优化 和 Liquid 聚类 的托管表可确保根据您的工作负载模式对数据进行良好的聚类。
- 验证查询是否具有选择性。 要实现亚秒级延迟,请确认查询扫描的数据量更少。 尽早使用
WHERE子句进行过滤,只选择所需的列,并尽量利用聚合。 支持跨表联接,但如果发现查询变得复杂或速度缓慢,请考虑使用预先聚合数据的具体化视图来加快延迟。 - 检查 SQL 覆盖范围。 Lakehouse//RT 仅支持符合 ANSI 的读取查询。 确认工作负荷符合 ANSI, 并避免“ 限制”下列出的不受支持的语句、函数和数据类型。
支持的功能
工具和接口
你可以在以下任一 Azure Databricks 功能中的计算选择器中选择 Lakehouse//RT:
- SQL 编辑器
- SQL 笔记本
- AI/BI 仪表板
- 目录资源管理器
- Alerts
表类型
Lakehouse//RT 仅查询 Unity 目录数据。 为了获得最佳性能,请使用 Unity 目录托管表,该表为引擎提供低延迟所需的数据布局。
Lakehouse//RT 支持下表类型:
- 托管表(Delta Lake 和 Apache Iceberg 表)
- 具体化视图和流式处理表
- 指标视图
Connectivity
Lakehouse//RT 仅接受使用 语句执行 API 的连接。 它不支持旧的 Thrift 协议,因此在不显式使用语句执行 API 的情况下进行连接的驱动程序会收到错误 501 。
可以通过以下方式连接到 Lakehouse//RT 仓库:
- 语句执行 API: 直接从外部应用程序调用 API。 请参阅 语句执行 API:在仓库上运行 SQL。
-
Databricks 驱动:将其配置为使用语句执行 API 时,以下驱动可以进行连接。 将驱动程序的 HTTP 路径指向 Lakehouse//RT 仓库,然后设置以下选项:
-
用于Python的 Databricks SQL 连接器:设置
use_kernel=True。 -
用于 Node.js的 Databricks SQL 驱动程序 : 设置
useKernel: true。 -
JDBC: 在连接 URL 中设置
UseThriftClient=0。 -
用于 Power BI 的 ADBC 驱动程序:在
Protocol=REST(SEA)下设置和Implementation=2.0。
-
用于Python的 Databricks SQL 连接器:设置
Pricing
有关定价信息,请参阅 Lakehouse Real-Time 定价 页。
Limitations
当查询使用不支持的功能时,Lakehouse//RT 将返回一个错误来命名该功能。 若要成功运行查询,请改用无服务器 SQL 仓库。
工具和功能
Lakehouse//RT 尚不支持以下功能:
- Genie
- Genie 智能体
- 作业任务
表类型
尚不支持下表类型:
- 系统表
- Delta Sharing 表
- Unity Catalog 默认存储中的表
- Unity Catalog 中的外部表
Lakehouse//RT 不支持下表类型:
- Hive 元存储表(托管或外部)
- 外部表和查询联合 (Lakehouse Federation)
- 临时表
- 使用其他数据格式的表(CSV、JSON、Avro、Parquet、ORC 和文本)
驱动程序和连接器
Lakehouse//RT 不支持以下驱动程序和连接器:
- ADBC
- ODBC
- Go
SQL 语言
Lakehouse//RT 仅在 ANSI 模式下 运行 SQL 读取查询。 它会严格根据 ANSI SQL 规则评估所有隐式类型转换 (Coercion) 和强制类型转换 (Cast),且该行为无法关闭。 在 ANSI 语义下,依赖于非 ANSI 行为的查询可能:
- 引发运行时错误,而不是静默生成
NULL。 例如,将非数值字符串强制转换为数字。 - 如果不存在安全的公共类型,则会在分析阶段引发错误。 例如,
COALESCE、CASE、IN,或者对不兼容的类型执行集合运算。 - 返回与旧模式不同的结果类型,因为 ANSI 字符串提升和数值扩大选择安全、无损失的类型。
若要获取可预测的结果,当 ANSI 模式隐式转换不生成预期行为时,请使用显式 CAST 表达式。
Lakehouse//RT 不支持以下各项:
-
数据类型:和
GEOGRAPHYGEOMETRY数据类型。 - 功能:AI 函数、Python UDF、空间 SQL 函数和 XPath 和 XML 函数。
- 治理: 基于属性的访问控制(ABAC),包括行级别安全性和列掩码。
Lakehouse//RT 仅适用于读取(SELECT)查询。 不支持写入命令和 ETL 命令,包括:
-
写入操作:
INSERT、、UPDATEDELETE、MERGE和CREATE TABLE AS SELECT(CTAS)。 - 创建或修改对象的 DDL:
CREATE、、ALTERDROP、 和其他语句。 -
安全语句:
GRANT和REVOKE. - 脚本、存储过程、临时表和多语句事务。
-
Delta Lake 维护:
OPTIMIZE、ANALYZE、VACUUM和REFRESH。
网络安全
Important
Lakehouse//RT 运行于 Azure Databricks 无服务器计算系统上。 要在云存储周围创建一个防火墙,同时允许无服务器计算访问,请参见 “配置无服务器计算访问防火墙”。 遗留的防火墙配置方法最近已被弃用。 如果这些项仍在使用中,无服务器计算在尝试访问你的存储时可能会返回 403 Forbidden 错误。
Lakehouse//RT 尚不支持以下网络配置:
Compliance
目前不支持合规性安全配置文件。