課金対象の使用状況システム テーブル リファレンス
重要
この機能はパブリック プレビュー段階にあります。
この記事では、スキーマやクエリの例を含め、課金対象の使用状況システム テーブルの概要について説明します。 システム テーブルを使うと、アカウントの課金対象の使用状況データが一元化されるとともにすべてのリージョンにルーティングされるため、ワークスペースのリージョンからアカウントの全体的な使用量を確認できます。
このテーブルを使用してジョブ コストを監視する方法については、「システム テーブルを使用してジョブ コストを監視する」を参照してください。
サーバーレスの使用状況を分析する戦略については、「サーバーレス コンピューティングのコストを監視する」を参照してください。
課金対象の使用状況テーブル スキーマ
課金対象使用量システム テーブルは system.billing.usage
にあり、次のスキーマを使用します。
列名 | データ型 | 説明 | 例 |
---|---|---|---|
record_id |
string | このレコードの意の ID | 11e22ba4-87b9-4cc2 -9770-d10b894b7118 |
account_id |
string | このレポートが生成された対象のアカウントの ID | 23e22ba4-87b9-4cc2 -9770-d10b894b7118 |
workspace_id |
string | この使用状況が関連付けられたワークスペースの ID | 1234567890123456 |
sku_name |
string | SKU の名前 | STANDARD_ALL_PURPOSE_COMPUTE |
cloud |
string | この使用状況に関連するクラウド。 有効な値は AWS 、AZURE 、GCP です。 |
AWS 、 AZURE 、または GCP |
usage_start_time |
timestamp | この使用状況レコードに関連する開始時間。 タイムゾーン情報は、UTC タイムゾーンを表す +00:00 とともに値の末尾に記録されます。 |
2023-01-09 10:00:00.000+00:00 |
usage_end_time |
timestamp | この使用状況レコードに関連する終了時間。 タイムゾーン情報は、UTC タイムゾーンを表す +00:00 とともに値の末尾に記録されます。 |
2023-01-09 11:00:00.000+00:00 |
usage_date |
日付 | 使用状況レコードの日付。このフィールドを使うと、日付ごとの集計を高速化できます | 2023-01-01 |
custom_tags |
map | ユーザーがこの使用状況に適用したタグ。 コンピューティング リソース タグ、ジョブ タグ、ワークスペース カスタム タグが含まれます。 | { “env”: “production” } |
usage_unit |
string | この使用状況の測定単位。 指定できる値には DBU が含まれます。 | DBU |
usage_quantity |
小数 | このレコードで消費されたユニット数。 | 259.2958 |
usage_metadata |
struct | コンピューティング リソースとジョブの ID (該当する場合) など、使用状況に関するシステム提供のメタデータ。 「使用状況メタデータを解析する」を参照してください。 | {cluster_id: null; instance_pool_id: null; notebook_id: null; job_id: null; node_type: null} |
identity_metadata |
struct | 使用状況に関する ID についてシステムで提供されるメタデータ。 「ID メタデータを解析する」を参照してください。 | {run_as: example@email.com} |
record_type |
string | レコードが訂正されているかどうか。 有効な値は ORIGINAL 、RETRACTION 、RESTATEMENT です。 |
ORIGINAL |
ingestion_date |
日付 | レコードが usage テーブルに取り込まれた日付。 |
2024-01-01 |
billing_origin_product |
string | 使用元の製品。 一部の製品は、異なる SKU として課金できます。 使用可能な値については、「使用状況に関連付けられた製品に関する情報を表示する」を参照してください。 | JOBS |
product_features |
struct | 使用される特定の製品機能の詳細。 | 使用可能な値については、「製品機能」を参照してください。 |
usage_type |
string | 課金目的で製品またはワークロードに起因する使用状況の種類。 可能な値は COMPUTE_TIME 、STORAGE_SPACE 、NETWORK_BYTES 、API_CALLS 、TOKEN 、または GPU_TIME です。 |
STORAGE_SPACE |
使用状況メタデータを解析する
usage_metadata
の値は、使用状況レコードに関係するリソースについて伝達します。
Value | データ型 | 説明 |
---|---|---|
cluster_id |
string |
使用状況レコードに関連するクラスターの ID |
warehouse_id |
string |
使用状況レコードに関連する SQL ウェアハウスの ID |
instance_pool_id |
string |
使用状況レコードに関連付けられたインスタンスプールの ID |
node_type |
string |
コンピューティング リソースのインスタンスの種類 |
job_id |
string |
使用状況レコードに関連するジョブの ID。 サーバーレス コンピューティングまたはジョブ クラスターの使用状況の値のみを返し、それ以外の場合は NULL を返します。 |
job_run_id |
string |
使用状況レコードに関連するジョブ実行の ID。 サーバーレス コンピューティングまたはジョブ クラスターの使用状況の値のみを返し、それ以外の場合は NULL を返します。 |
notebook_id |
string |
使用状況に関連付けられているノートブックの ID。 ノートブックの使用に対するサーバーレス コンピューティングの値のみを返し、それ以外の場合は NULL を返します。 |
dlt_pipeline_id |
string |
使用状況レコードに関連する Delta Live Tables パイプラインの ID |
run_name |
string |
使用状況レコードに関連する Mosaic AI モデル トレーニングの微調整実行の一意のユーザー向け識別子 |
job_id または notebook_id を使用して、UI でジョブまたはノートブックを検索する
これらの手順では、ID に基づいて UI で特定のジョブやノートブックを表示する方法について説明します。
UI の job_id
に基づく UI でジョブを検索するには、次の操作を行います。
- 使用状況レコードから
job_id
をコピーします。 この例では、ID が700809544510906
であると想定します。 - ジョブと同じ Azure Databricks ワークスペースのワークフロー UI に移動します。
- [ユーザーが所有するジョブのみ] フィルターのチェックボックスがオフになっていることを確認してください。
- ID (700809544510906) を [ジョブのフィルター] 検索バーに貼り付けてください。
UI の notebook_id
に基づく UI でノートブックを検索するには、次の手順を使用してください。
- 使用状況レコードから
notebook_id
をコピーします。 この例では、ID が700809544510906
であると想定します。 - ノートブックと同じ Azure Databricks ワークスペースのワークスペース UI に移動します。
- 表示されたノートブックをクリックしてます。
- ノートブックを開いたら、ブラウザーのアドレス バーにある URL を調べてください。
https://<account-console-url>/?o=<workspace ID>#notebook/<notebook ID>/command/<command ID>
のようになります。 - ブラウザーのアドレス バーで、ノートブック ID を最初の手順でコピーした ID に置き換え、ノートブック ID 以降をすべて削除します。
https://<account-console-url>/?o=<workspace ID>#notebook/700809544510906
のようになります。 - ノートブックを表示した後、[共有] ボタンをクリックすると、ノートブックの所有者を表示できます。
ID メタデータを解析する
identity_metadata
列はサーバーレスの請求レコードの責任者を特定するのに役立ちます。 列には、使用状況を ID に帰属させる run_as
値が含まれます。 identity_metadata.run_as
に記録される ID は、使用状況に関連付けられている製品によって異なります。
identity_metadata.run_as
の動作については、次のテーブルをご覧ください。
ワークロードの種類 | run_as の ID |
---|---|
ジョブのサーバーレス コンピューティング | "実行するアカウント名" 設定で定義されたユーザーまたはサービス プリンシパル。 既定では、ジョブはジョブ所有者の ID として実行されますが、管理者はこれを他のユーザーやサービス プリンシパルに変更できます。 |
ノートブックのサーバーレス コンピューティング | ノートブック コマンドを実行したユーザー (具体的には、ノートブック セッションを作成したユーザー)。 共有ノートブックの場合は、同じノートブック セッションを共有している他のユーザーによる使用状況も含まれます。 |
Mosaic AI モデル トレーニング | 微調整トレーニング実行を開始したユーザーまたはサービス プリンシパル。 |
使用状況に関連付けられた製品に関する情報を表示する
一部の Databricks 製品は、同じ共有 SKU に基づいて課金されます。 使用状況を区別するために、billing_origin_product
列と product_features
列には、使用状況に関連付けられた特定の製品と機能に関する詳細な分析情報が用意されています。
billing_origin_product
列には、使用状況レコードに関連付けられた Databricks 製品が表示されます。 値は次のとおりです。
JOBS
DLT
SQL
ALL_PURPOSE
MODEL_SERVING
INTERACTIVE
MANAGED_STORAGE
VECTOR_SEARCH
LAKEHOUSE_MONITORING
PREDICTIVE_OPTIMIZATION
ONLINE_TABLES
FOUNDATION_MODEL_TRAINING
product_features
列は、使用される特定の製品機能に関する情報を含むオブジェクトであり、次のキーと値のペアが含まれます。
jobs_tier
: 値にはLIGHT
、CLASSIC
、またはnull
がありますsql_tier
: 値にはCLASSIC
、PRO
、またはnull
がありますdlt_tier
: 値にはCORE
、PRO
、ADVANCED
、またはnull
がありますis_serverless
: 値にはtrue
、またはfalse
、またはnull
がありますis_photon
: 値にはtrue
、またはfalse
、またはnull
がありますserving_type
: 値にはMODEL
、GPU_MODEL
、FOUNDATION_MODEL
、FEATURE
、またはnull
があります
サンプル クエリ
次のサンプル クエリを使うと、課金対象の使用状況に関する一般的な質問に回答できます。
- DBU 消費量は日ごとにどのような傾向がありますか?
- 今月は各 SKU で何個の DBU を使いましたか?
- 6 月 1 日にワークスペースで使った各 SKU の使用量はどのくらいですか?
- DBU を最も多く消費したジョブはどれですか?
- 特定のタグを持つリソースに属性付けできる使用量はどのくらいですか?
- 使用量が増加している SKU を表示する
- All Purpose Compute (Photon) の使用状況にはどのような傾向がありますか?
- 具体化されたビューまたはストリーミング テーブルの DBU 消費量とは何ですか?
DBU 消費量は日ごとにどのような傾向がありますか?
SELECT usage_date as `Date`, sum(usage_quantity) as `DBUs Consumed`
FROM system.billing.usage
WHERE sku_name = "STANDARD_ALL_PURPOSE_COMPUTE"
GROUP BY usage_date
ORDER BY usage_date ASC
今月は各 SKU で何個の DBU を使いましたか?
SELECT sku_name, usage_date, sum(usage_quantity) as `DBUs`
FROM system.billing.usage
WHERE
month(usage_date) = month(NOW())
AND year(usage_date) = year(NOW())
GROUP BY sku_name, usage_date
6 月 1 日にワークスペースで使った各 SKU の使用量はどのくらいですか?
workspace_id
を実際のワークスペース ID に必ず置き換えてください。
SELECT sku_name, sum(usage_quantity) as `DBUs consumed`
FROM system.billing.usage
WHERE workspace_id = 1234567890123456
AND usage_date = "2023-06-01"
GROUP BY sku_name
Note
このクエリは、選んだ日付にワークスペースで使われる一意の SKU ID ごとに 1 行を返します。
DBU を最も多く消費したジョブはどれですか?
SELECT usage_metadata.job_id as `Job ID`, sum(usage_quantity) as `DBUs`
FROM system.billing.usage
WHERE usage_metadata.job_id IS NOT NULL
GROUP BY `Job ID`
ORDER BY `DBUs` DESC
具体的なタグを持つリソースに属性付けできる使用量はどのくらいですか?
コストを分割するには、さまざまな方法があります。 この例では、カスタム タグによってコストを分割する方法を示します。 クエリ内のカスタム タグのキーと値は、必ず置き換えてください。
SELECT sku_name, usage_unit, SUM(usage_quantity) as `DBUs consumed`
FROM system.billing.usage
WHERE custom_tags.{{key}} = "{{value}}"
GROUP BY 1, 2
使用量が増加している SKU を表示する
SELECT after.sku_name, before_dbus, after_dbus, ((after_dbus - before_dbus)/before_dbus * 100) AS growth_rate
FROM
(SELECT sku_name, sum(usage_quantity) as before_dbus
FROM system.billing.usage
WHERE usage_date BETWEEN "2023-04-01" and "2023-04-30"
GROUP BY sku_name) as before
JOIN
(SELECT sku_name, sum(usage_quantity) as after_dbus
FROM system.billing.usage
WHERE usage_date BETWEEN "2023-05-01" and "2023-05-30"
GROUP BY sku_name) as after
where before.sku_name = after.sku_name
SORT by growth_rate DESC
All Purpose Compute (Photon) の使用状況にはどのような傾向がありますか?
SELECT sku_name, usage_date, sum(usage_quantity) as `DBUs consumed`
FROM system.billing.usage
WHERE year(usage_date) = year(CURRENT_DATE)
AND sku_name = "ENTERPRISE_ALL_PURPOSE_COMPUTE_(PHOTON)"
AND usage_date > "2023-04-15"
GROUP BY sku_name, usage_date
具体化されたビューまたはストリーミング テーブルの DBU 消費量とは何ですか?
特定の具体化されたビューまたはストリーミング テーブルの DBU の使用と SKU を調べるには、関連付けられたパイプライン ID (dlt_pipeline_id
) が必要です。 パイプライン ID は、カタログ エクスプローラーで関連する具体化されたビューまたはストリーミング テーブルが表示されているときに、[詳細] タブで見つけます。
SELECT
sku_name,
usage_date,
SUM(usage_quantity) AS `DBUs`
FROM
system.billing.usage
WHERE
usage_metadata.dlt_pipeline_id = "113739b7-3f45-4a88-b6d9-e97051e773b9"
AND usage_start_time > "2023-05-30"
GROUP BY
ALL