請求ログの表示とクエリ
この記事では、管理者が請求システムテーブルを使用して SAP Databricks アカウントの使用状況を監視する方法について説明します。
システムテーブルとは
システムテーブルは、 system
カタログにあるアカウントの運用データの分析ストアです。システムテーブルは、アカウント全体の履歴オブザーバビリティに使用できます。これらは読み取り専用であり、変更できません。
billing
スキーマへのアクセスを許可するには、メタストア管理者とアカウント管理者の両方であるユーザーが、システム スキーマに対するUSE
権限とSELECT
権限を付与する必要があります。
利用可能な請求テーブル
コストを監視するために使用できるテーブルは 2 つあります。
system.billing.usage
:アカウント全体の課金利用データにアクセスできます。system.billing.list_prices
: SKUの価格の履歴ログにアクセスできます。レコードは、SKU 価格が変更されるたびに追加されます。
課金利用 Table Schem
テーブルパス :このシステムテーブルは system.billing.usage
にあります。
課金利用 システムテーブルは、次のスキーマを使用します。
列名 | データ型 | 説明 | 例 |
---|---|---|---|
| string | この使用レコードの一意の ID |
|
| string | このレポートが生成されたアカウントの ID |
|
| string | この使用法が関連付けられたワークスペースの ID |
|
| string | SKU の名前 |
|
| string | この使用状況に関連付けられたクラウド。指定できる値は、 |
|
| timestamp | この使用レコードに関連する開始時刻。タイムゾーン情報は、UTCタイムゾーンを表す |
|
| timestamp | この使用レコードに関連する終了時刻。タイムゾーン情報は、UTCタイムゾーンを表す |
|
| 日付 | 使用状況レコードの日付、このフィールドを使用すると、日付による集計を高速化できます |
|
| map | 使用に関連付けられたサーバレス 予算ポリシーから伝播されたカスタム タグ |
|
| string | この使用量が測定される単位 |
|
| DECIMALタイプ | このレコードで消費されたユニット数 |
|
| struct | コンピュート リソースとジョブ (該当する場合) の ID など、使用状況に関するシステム提供のメタデータ。 使用状況メタデータを参照してください。 | 使用状況メタデータを参照してください |
| struct | 使用に関連する ID に関するシステム提供のメタデータ。「ID メタデータ」を参照してください。 | 「ID メタデータ」を参照してください。 |
| string | レコードがオリジナル、撤回、または修正のいずれであるか。レコードが修正に関連している場合を除き、値は |
|
| 日付 | レコードが |
|
| string | 使用を開始した製品。一部の製品は、異なるSKUとして請求できます。 使用可能な値については、 製品を参照してください。 |
|
| struct | 使用されている特定の製品機能の詳細。 |
|
| string | 請求目的で製品またはワークロードに起因する使用のタイプ。可能な値は、 |
|
価格テーブルのスキーマ
テーブルパス :このシステムテーブルは system.billing.list_prices
にあります。
価格 システムテーブルは、次のスキーマを使用します。
列名 | データ型 | 説明 | 例 |
---|---|---|---|
| timestamp | この価格が発効した時刻(UTC) |
|
| timestamp | この価格がUTCで有効でなくなった時間 |
|
| string | このレポートが生成されたアカウントの ID |
|
| string | SKU の名前 |
|
| string | この価格が適用されるクラウドの名前。指定できる値は、 |
|
| string | この価格を表す通貨。値は次のようになります |
|
| string | 収益化される測定単位。指定できる値は、 |
|
| struct | 公開された正規価格の料金情報を含む構造化データ フィールド。キー |
|
使用量表の読み方
usage
テーブルのすべての請求レコードには、使用量を関連する特定のリソース、ID、および製品に帰属させる列が含まれています。使用状況を特定のワークロード、機能、ID に帰属させるには、次の列を使用します。
usage_metadata
列には、使用に関連するリソースまたはオブジェクトに関する情報を含む構造体が含まれています。identity_metadata
列には、使用量の原因となったユーザーまたはサービスプリンシパルに関する情報が含まれます。custom_tags
列には、サーバレス 予算ポリシーによって追加されたタグが含まれます。詳細については、 サーバレス 予算ポリシーでの属性の使用を参照してください。billing_origin_product
列には、使用された正確な製品に関する情報が表示されます。
使用状況メタデータの参照
usage_metadata
の値はすべて、使用状況レコードに関連するワークスペース オブジェクトを示す文字列です。
これらの値のサブセットのみが、使用されるコンピュートの種類と機能に応じて、特定の使用状況レコードに入力されます。 次の表は、SAP Databricks アカウントに入力できる値の概要を示しています。
Value | 説明 |
---|---|
| 使用状況レコードに関連付けられたジョブの ID |
| 使用レコードに関連付けられた SQLウェアハウスの ID |
| 使用状況レコードに関連付けられたジョブ実行の ID |
| 使用状況に関連付けられているノートブックの ID |
| 使用状況レコードに関連付けられているモデルサービング エンドポイントまたはベクトル検索エンドポイントの名前 |
| 使用状況レコードに関連付けられたモデルサービング エンドポイントまたはベクトル検索エンドポイントの ID |
| 使用状況レコードに関連付けられた基盤モデル ファインチューニング 実行の一意のユーザー向け名前 |
| 使用状況レコードに関連付けられたジョブのユーザー指定の名前 |
| 使用状況に関連付けられているノートブックのワークスペース ストレージ パス |
| 使用状況に関連付けられているワークスペースのリージョン。サーバレス ネットワーキング関連の使用状況の値のみを返します。 |
| アクセスされているリソースのリージョン。サーバレス ネットワーキング関連の使用状況の値のみを返します。 |
| ワークロードにアタッチされているサーバレス 予算ポリシーの ID |
ID メタデータの参照
identity_metadata
列には、使用に関連する ID に関する詳細情報が表示されます。
run_as
フィールドには、ワークロードを実行したユーザーが記録されます。この値は、次の表に示す特定のワークロードの種類に対してのみ設定されます。owned_by
フィールドはSQLウェアハウスの使用状況にのみ適用され、使用状況を担当するSQLウェアハウスを所有するユーザーまたはサービスプリンシパルをログに記録します。
実行 IDS
identity_metadata.run_as
に記録される ID は、使用状況に関連付けられている製品によって異なります。identity_metadata.run_as
の動作については、次の表を参照してください。
ワークロードの種類 | のアイデンティティ |
---|---|
ジョブ用サーバレスコンピュート |
|
ノートブック実行用サーバレスコンピュート | ノートブック コマンドを実行したユーザー (具体的には、ノートブック セッションを作成したユーザー)。共有ノートブックの場合、これには同じノートブック セッションを共有する他のユーザーによる使用が含まれます。 |
基盤モデルのファインチューニング | ファインチューニング トレーニング 実行を開始したユーザーまたはサービスプリンシパル。 |
Lakehouseモニタリング | モニターを作成したユーザー。 |
請求元製品参照
billing_origin_product
列には、使用状況レコードに関連付けられている Databricks 製品が表示されます。値には次のものが含まれます。
JOBS
SQL
MODEL_SERVING
INTERACTIVE
DEFAULT_STORAGE
VECTOR_SEARCH
LAKEHOUSE_MONITORING
FOUNDATION_MODEL_TRAINING
AGENT_EVALUATION
NETWORKING
: サーバレス コンピュートをリソースに接続するためのコスト
サンプル クエリ
次のクエリを使用して、アカウント内の使用状況について理解を深めます。
- list_prices テーブルを使用量テーブルに結合します
- 高価なノートブックを特定する
- コストの高いジョブを特定する
- 特定のユーザーが消費したDBUに関するレポート
- カスタム タグを共有するワークロードによって消費された DBU に関するレポートReport on DBU consumed by workloads that share a custom tag
list_prices テーブルを使用量テーブルに結合します
list_prices
表には、利用可能な各SKUの経時的な定価が含まれています。usage
テーブルを結合して、特定の使用量のリストコストを表示できます。
たとえば、次のクエリは、特定のユーザーに帰属する月間の合計費用を返します。括弧で囲まれたセクションに有効な ID を必ず挿入してください。
SELECT
SUM(usage.usage_quantity * list_prices.pricing.effective_list.default)
as `Total Dollar Cost`
FROM system.billing.usage
JOIN system.billing.list_prices ON list_prices.sku_name = usage.sku_name
WHERE identity_metadata.run_as = {{'sample identity'}}
AND usage.usage_end_time >= list_prices.price_start_time
AND (list_prices.price_end_time IS NULL OR usage.usage_end_time < list_prices.price_end_time)
AND usage.usage_date BETWEEN "2025-04-01" AND "2025-04-15"
高価なノートブックを特定する
このクエリは、ノートブックのリストと、各ノートブックが消費したDBUの数を、DBU消費量の降順で返します。
SELECT
usage_metadata.notebook_id,
usage_metadata. notebook_path,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
usage_metadata.notebook_id is not null
and billing_origin_product = 'INTERACTIVE'
and product_features.is_serverless
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
GROUP BY
1,2
ORDER BY
total_dbu DESC
コストの高いジョブを特定する
このクエリは、ジョブのリストと、各ジョブが消費したDBUの数を、DBU消費量の降順で返します。
SELECT
usage_metadata.job_id,
usage_metadata.job_name,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
usage_metadata.job_id is not null
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
and sku_name like '%JOBS_SERVERLESS_COMPUTE%'
GROUP BY
1,2
ORDER BY
total_dbu DESC
特定のユーザーが消費したDBUに関するレポート
このクエリは、特定のユーザーまたはサービスプリンシパルによって実行されたノートブックとジョブのリスト、および各ワークロードによって消費された DBU の数を返します。 パラメーターを使用して、有効なユーザー Eメール アドレスを挿入してください。
SELECT
usage_metadata.job_id,
usage_metadata.job_name,
usage_metadata.notebook_id,
usage_metadata. notebook_path,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
identity_metadata.run_as = format_string('%s@%s.%s', :user_name, :domain_name, :top_level_domain)
and usage_date >= DATEADD(day, -30, current_date)
GROUP BY
1,2,3,4
ORDER BY
total_dbu DESC
カスタム タグを共有するワークロードによって消費された DBU に関するレポートReport on DBU consumed by workloads that share a custom tag
このクエリは、同じカスタム タグを共有するジョブの一覧と、各ワークロードによって消費された DBU の数を返します。
SELECT
usage_metadata.job_id,
usage_metadata.job_name,
usage_metadata.notebook_id,
usage_metadata. notebook_path,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
custom_tags.<key> = '<value>'
and billing_origin_product in ('JOBS','INTERACTIVE')
and product_features.is_serverless
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
GROUP BY
1,2,3,4
ORDER BY
total_dbu DESC