了解Databricks成本的5个系统表查询

了解Databricks成本的5个系统表查询

💡 原文英文,约1300词,阅读约需5分钟。
📝

内容提要

Databricks系统计费表可用于成本分析。本文提供五个SQL查询:按日与产品统计支出、按SQL仓库和标签归因成本、用14天滚动均值标记异常支出,并用AI函数预测下月账单。建议将这些查询嵌入AI/BI仪表板,用于每周成本审查与预算规划。

🔎

延伸解读

系统表成本分析的边界

文章明确指出,system.billing.usage 仅包含 Databricks 自身的费用。当使用非 Serverless 计算时,云基础设施成本(如计算、网络、存储)并不包含在内,需要到相应的云控制台单独查看。因此,若想获得完整的成本视图,必须将系统表数据与云账单结合分析,否则可能低估实际总支出。

标签归因的实用技巧

通过计算策略和 Serverless 使用策略强制打标签,可以按团队、项目等维度归因成本。但并非所有记录都有标签,未打标签的记录会显示为 untagged。这既能帮助发现标签策略未覆盖的地方,也可能干扰分析。文章建议在查询中用 u.custom_tags[:tag_key] is not null 过滤掉无标签记录,或按多个标签分组,使归因更精准。

异常检测的适用条件

查询4使用14天滚动平均和标准差来标记异常支出:超过一个标准差为 elevated,超过两个为 anomaly。这种方法适合日常波动较稳定的工作负载,能快速发现意外尖峰。但如果工作负载本身波动很大,标准差会很高,该查询可能只能捕捉到最极端的异常,漏报风险增加。因此需结合业务实际判断是否适用。

预测的局限与规划

ai_forecast 函数能基于历史用量数据外推未来支出,适合用于预算规划。但文章提醒,该预测仅基于过去数据,无法考虑未来计划中的新工作负载。若已知将有新项目上线,需手动调整预测结果。将预测查询加入成本监控仪表板,可定期查看趋势,但务必结合业务计划综合判断。

❓

Q&A

Databricks系统计费表主要包含哪些表?它们有什么作用?

主要包含system.billing.usage和system.billing.list_prices。usage表提供整个Databricks账户的全局聚合成本视图,list_prices表提供定价信息,两者结合可深入分析支出分配。

如何按日和产品查看Databricks的支出?

使用第一个查询,将usage表与list_prices表连接,按日期和产品分组计算支出。这有助于了解环境使用情况、产品增长趋势和总支出。

如何按SQL仓库和标签归因Databricks成本?

第二个查询可查看SQL仓库的每日使用趋势,因为按消费付费,成本趋势反映使用情况。第三个查询利用标签(如团队标签)分组,通过参数化标签键来查看不同标签值的成本。

如何检测Databricks的异常支出?

使用第四个查询,它计算14天滚动平均支出,将日支出高于平均值一个标准差标记为升高,高于两个标准差标记为异常。适合用于成本监控仪表板或设置警报。

如何预测下个月的Databricks账单?

使用第五个查询,利用Databricks SQL AI函数中的ai_forecast,将时间序列数据外推到未来,生成支出预测。可调整输入数据量并可视化结果,帮助规划和预算。

如何将这些成本查询用于团队的成本管理?

将每个查询作为数据集添加到AI/BI仪表板,配置日期范围和标签参数,并定期进行每周成本审查。这有助于团队更有效地管理支出。

🏷️

标签

➡️

继续阅读