本文介绍如何调整、缩放和管理 Databricks SQL 仓库的查询队列的大小、缩放和管理,以优化性能和成本。
监视仓库性能
可以使用这些工具监视和调整任何 SQL 仓库的大小。 所有仓库类型队列中的最大查询数为 1,000。
- 监视页: 在“SQL 仓库监视”选项卡上,检查 “峰值排队查询”。 高于 0 的一致值表示可能需要更大的群集大小或更多群集。
- 查询历史记录: 查看历史查询性能以确定瓶颈。
- 查询配置文件: 检查溢出 到磁盘的指标的执行计划,这表示仓库大小可能太小。
经典和专业 SQL 仓库
经典仓库和专业仓库使用手动缩放模型,可在其中配置群集数。
大小调整和群集预配
创建经典或专业仓库时,请选择群集大小,并设置群集的最小和最大数目。 这些 SKU 的固定限制为每个 10 个并发查询一个群集。
群集大小 | 驱动程序实例类型 | 辅助角色计数 |
---|---|---|
2X-小 | Standard_E8ds_v4 | 1 x Standard_E8ds_v4 |
X-小 | Standard_E8ds_v4 | 2 x Standard_E8ds_v4 |
小 | Standard_E16ds_v4 | 4 x Standard_E8ds_v4 |
中 | Standard_E32ds_v4 | 8 x Standard_E8ds_v4 |
大 | Standard_E32ds_v4 | 16 x Standard_E8ds_v4 |
X-大 | Standard_E64ds_v4 | 32 x Standard_E8ds_v4 |
2X-大 | Standard_E64ds_v4 | 64 x Standard_E8ds_v4 |
3X-大 | Standard_E64ds_v4 | 128 x Standard_E8ds_v4 |
4X-大 | Standard_E64ds_v4 | 256 x Standard_E8ds_v4 |
所有辅助角色的实例大小都是 Standard_E8ds_v4。
每个驱动程序和辅助角色均附加了 8 个 128 GB 标准 LRS 托管磁盘。 附加的磁盘按小时收费。
经典和专业 SQL 仓库所需的 Azure vCPU 配额
若要启动经典或专业 SQL 仓库,你的 Azure 帐户中必须为 Standard_E8ds_v4 实例提供足够的 Azure vCPU 配额。 使用以下准则来确定所需的 vCPU 配额:
如果只有一个或两个 SQL 仓库,请验证是否为群集中的每个核心提供了 8 个 Azure vCPU。 这可确保有足够的 Azure vCPU 来允许仓库的重新预配,大约每 24 小时进行一次。 如果 SQL 仓库使用自动缩放或多群集负载均衡,则可能需要增加倍数。
- 随着 SQL 仓库数量的增加,群集的每个核心可以拥有 4 到 8 个 Azure vCPU。 Databricks 建议从较大的数字开始并监视稳定性。
- SQL 仓库使用的 Azure vCPU 是对供“数据科学与工程”或非 Databricks 工作负载使用的群集所用的 Azure vCPU 的补充。
若要请求额外的 Azure vCPU 配额,请参阅 Azure 支持请求。
注意
此表中的信息可能因产品或区域可用性和工作区类型而异。
队列和自动缩放逻辑
对于经典仓库和专业仓库,自动缩放会根据估计的时间添加群集来处理所有正在运行的查询和排队查询:
- 2-6 分钟的查询加载:添加 1 个群集。
- 6-12 分钟:添加 2 个群集。
- 12-22 分钟:添加 3 个群集。
- 超过 22 分钟:再添加 3 个群集,再添加 1 个群集,再增加 15 分钟负载。
其他规则:
- 如果查询在队列中等待 5 分钟,则仓库会纵向扩展。
- 如果连续 15 分钟负载保持较低,则仓库将缩减为处理该时间段的峰值负载所需的最低负载。