こちらの記事を参考にさせていただきました。
課金利用 システム テーブルと価格設定システムテーブルを使います。前者は日々のDatabricksの使用量(DBU)、後者はSKUごとの単価が格納されています。つまり、これらを掛け算することで費用が計算できます。
注意
- システムテーブルは有効化の作業が必要となります。
- 価格設定システムテーブルはリスト価格を格納しているので、ディスカウントが適用されている場合には別途ディスカウントを適用してください。
クエリーはこのようになります。
SELECT
u.usage_date,
u.sku_name,
SUM(u.usage_quantity * p.pricing.default) AS total_spent,
p.currency_code
FROM
system.billing.usage u
LEFT JOIN system.billing.list_prices p ON u.sku_name = p.sku_name
AND u.cloud = p.cloud
AND u.usage_start_time < coalesce(p.price_end_time, date '2029-12-31')
AND u.usage_end_time > p.price_start_time
WHERE u.usage_date >= date '2024-04-01' -- 4月のデータ
GROUP BY
ALL
可視化すると使用状況が一目瞭然ですね。SKUは大分類にまとめるなどの処理を加えてもいいと思います。
SQLでの分析なのでサーバレスウェアハウスも活用できます。システムテーブルの分析方法に関してはこちらの記事も参照ください。