課金利用システムテーブル参照
この記事では、課金利用システムテーブルの概要、スキーマ、サンプルクエリなどについて説明します。 システムテーブルを使用すると、アカウントの課金利用データが一元化され、すべてのリージョンにルーティングされるため、ワークスペースがどのリージョンにあっても、アカウントのグローバルな使用状況を表示できます。
このテーブルを使用してジョブのコストを監視する方法については、 システムテーブルを使用したジョブのコストとパフォーマンスの監視を参照してください。
サーバーレスの使用状況を分析する戦略については、 「サーバーレス コンピュートのコストを監視する」を参照してください。
テーブルパス:このシステムテーブルは system.billing.usage
にあります。
課金テーブルスキーマの利用
課金利用 システムテーブルは、次のスキーマを使用します。
列名 |
データ型 |
説明 |
例 |
---|---|---|---|
|
string |
このレコードの一意の ID |
|
|
string |
このレポートが生成されたアカウントのID |
|
|
string |
この使用法が関連付けられているワークスペースの ID |
|
|
string |
SKU名 |
|
|
string |
この使用法が関連するクラウド。 可能な値は、 |
|
|
timestamp |
この使用レコードに関連する開始時刻。 タイムゾーン情報は値の最後に記録され、 |
|
|
timestamp |
この使用レコードに関連する終了時刻。 タイムゾーン情報は値の最後に記録され、 |
|
|
日付 |
使用状況レコードの日付、このフィールドを使用すると、日付による集計を高速化できます |
|
|
マップ |
この使用法に適用されるタグ。 コンピュート リソース タグ、ジョブ タグ、予算ポリシー タグが含まれます。 |
|
|
string |
この使用量が測定される単位。 可能な値には DBU が含まれます。 |
|
|
DECIMALタイプ |
このレコードで消費されたユニットの数。 |
|
|
構造体 |
コンピュートリソースとジョブの ID (該当する場合) を含む、使用状況に関するシステム提供のメタデータ。 「使用状況メタデータの分析」を参照してください。 |
|
|
構造体 |
使用に関連する ID に関するシステム提供のメタデータ。 「ID メタデータの分析」を参照してください。 |
|
|
string |
レコードがオリジナル、撤回、または修正のいずれであるか。 レコードが修正に関連している場合を除き、値は |
|
|
日付 |
レコードが |
|
|
string |
使用を開始した製品。 一部の製品は異なる SKU として請求される場合があります。 可能な値については、 「使用状況に関連付けられた製品に関する情報の表示」を参照してください。 |
|
|
構造体 |
使用される特定の製品機能に関する詳細。 |
可能な値については、 「製品の機能」を参照してください。 |
|
string |
課金目的で製品またはワークロードに帰属する使用状況のタイプ。 指定できる値は、 |
|
使用状況メタデータの分析
usage_metadata
の値は、使用状況記録に関係するリソースに関する情報を示します。
値 |
データ型 |
説明 |
---|---|---|
|
string |
使用状況記録に関連付けられたクラスターのID |
|
string |
使用状況レコードに関連付けられたSQLウェアハウスの ID |
|
string |
使用状況レコードに関連付けられたインスタンス プールの ID |
|
string |
コンピュートリソースのインスタンスタイプ |
|
string |
使用状況レコードに関連付けられているジョブの ID。 サーバレス コンピュートまたはジョブ コンピュート usage の値のみを返し、それ以外の場合は |
|
string |
使用状況レコードに関連付けられているジョブ実行の ID。 サーバレス コンピュートまたはジョブ コンピュート usage の値のみを返し、それ以外の場合は |
|
string |
使用状況レコードに関連付けられたジョブのユーザー指定の名前。 サーバレス コンピュート上のジョブ実行の値のみを返し、それ以外の場合は |
|
string |
使用状況に関連付けられたノートブックの ID。 コンピュータの使用状況に応じて、サーバレス コンピュートの値のみを返し、それ以外の場合は |
|
string |
使用状況に関連付けられているノートブックのワークスペース ストレージ パス。 ノートブックの使用については、サーバレス コンピュートの値のみを返し、それ以外の場合は |
|
string |
使用状況レコードに関連付けられた Delta Live Tables パイプラインの ID |
|
string |
使用状況レコードに関連付けられている Delta Live Tables パイプライン更新の ID |
|
string |
使用状況レコードに関連付けられている Delta Live Tables パイプラインのメンテナンス タスクの ID |
|
string |
使用状況レコードに関連付けられた基盤モデル ファインチューニング 実行の一意のユーザー向け識別子 |
|
string |
使用状況レコードに関連付けられているモデルサービング エンドポイントまたはベクトル検索エンドポイントの名前 |
|
string |
使用状況レコードに関連付けられたモデルサービング エンドポイントまたはベクトル検索エンドポイントの ID |
|
string |
使用レコードに関連付けられたセントラルクリーンルームのID |
|
string |
使用状況に関連付けられているワークスペースのリージョン。 ネットワーク関連のコストの値のみを返します。 |
|
string |
アクセスされているリソースのリージョン。 ネットワーク関連のコストの値のみを返します。 |
ID メタデータの分析
identity_metadata
列は、サーバーレス課金レコードの責任者を特定するのに役立ちます。 この列には、使用状況を ID に帰属させる run_as
値が含まれます。 identity_metadata.run_as
に記録される ID は、使用法に関連付けられた製品によって異なります。
identity_metadata.run_as
動作については、次の表を参照してください。
ワークロードの種類 |
のアイデンティティ |
---|---|
Jobs コンピュート |
|
ジョブ用サーバレスコンピュート |
|
ノートブック実行用サーバレスコンピュート |
ノートブック コマンドを実行したユーザー (具体的には、ノートブック セッションを作成したユーザー)。 共有 ノートブックの場合、これには同じノートブック セッションを共有する他のユーザーによる使用も含まれます。 |
Delta Liveテーブルパイプライン |
Delta Live Tables パイプラインの実行にアクセス許可が使用されているユーザー。 これは、パイプラインの所有権を譲渡することで変更できます。 |
基盤モデル ファインチューニング |
ファインチューニング トレーニング実行を開始したユーザーまたはサービスプリンシパル。 |
修正レコードの分析
billing.usage
テーブルは修正をサポートしています。修正は、使用レコードのいずれかのフィールドが正しくなく、修正する必要がある場合に発生します。
修正が行われると、Databricks は 2 つの新しいレコードをテーブルに追加します。 取り消しレコードは元の誤ったレコードを否定し、その後、修正された情報を再修正レコードに含めます。 修正レコードは、 record_type
フィールドを使用して識別されます。
RETRACTION
: 元の誤った使用を否定するために使用されます。 すべてのフィールドは、元の使用量を相殺する負の値であるusage_quantity
を除き、ORIGINAL
レコードと同じです。たとえば、元のレコードの使用量が259.4356
の場合、リトラクション レコードの使用量は-259.4356
になります。RESTATEMENT
: 正しいフィールドと使用量を含むレコード。
たとえば、次のクエリは、修正が加えられた場合でも、 job_id
に関連する正しい時間単位使用量を返します。 使用量を集計することにより、リトラクトレコードは元のレコードを否定し、リプレゼンテーションの値のみを返します。
SELECT
usage_metadata.job_id, usage_start_time, usage_end_time,
SUM(usage_quantity) as usage_quantity
FROM system.billing.usage
GROUP BY ALL
HAVING usage_quantity != 0
注:
元の使用レコードが書き込まれるべきではなかった修正の場合、修正は撤回レコードのみを追加し、修正レコードは追加できません。
使用状況に関連付けられた製品に関する情報を表示する
一部の Databricks 製品は、同じ共有 SKU に基づいて課金されます。 使用法を区別できるように、 billing_origin_product
列とproduct_features
列には、使用法に関連付けられている特定の製品と機能に関する詳細な情報が提供されます。
billing_origin_product
列には、使用状況レコードに関連付けられている Databricks 製品が表示されます。 値は次のとおりです。
JOBS
DLT
SQL
ALL_PURPOSE
MODEL_SERVING
INTERACTIVE
DEFAULT_STORAGE
VECTOR_SEARCH
LAKEHOUSE_MONITORING
PREDICTIVE_OPTIMIZATION
ONLINE_TABLES
FOUNDATION_MODEL_TRAINING
NETWORKING
: サーバレス コンピュートをワークスペース リソースに接続するためのコスト
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
networking.connectivity_type
: 値にはPUBLIC_IP
とPRIVATE_IP
サンプル クエリ
次のサンプルクエリを使用して、課金利用に関する一般的な質問に答えることができます。
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
今月は各製品のDBUがいくつ使用されましたか?
SELECT
billing_origin_product,
usage_date,
sum(usage_quantity) as usage_quantity
FROM system.billing.usage
WHERE
month(usage_date) = month(NOW())
AND year(usage_date) = year(NOW())
GROUP BY billing_origin_product, usage_date
どのジョブが最も多くの DBU を消費しましたか?
SELECT
usage_metadata.job_id as `Job ID`, sum(usage_quantity) as `Usage`
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 `Usage`
FROM
system.billing.usage
WHERE
custom_tags.{{key}} = "{{value}}"
GROUP BY 1, 2
利用が伸びている製品を見る
SELECT
after.billing_origin_product, before_dbus, after_dbus, ((after_dbus - before_dbus)/before_dbus * 100) AS growth_rate
FROM
(SELECT
billing_origin_product, sum(usage_quantity) as before_dbus
FROM
system.billing.usage
WHERE
usage_date BETWEEN "2023-04-01" and "2023-04-30"
GROUP BY
billing_origin_product
) as before
JOIN
(SELECT
billing_origin_product, sum(usage_quantity) as after_dbus
FROM
system.billing.usage
WHERE
usage_date
BETWEEN
"2023-05-01" and "2023-05-30"
GROUP BY
billing_origin_product
) as after
WHERE
before.billing_origin_product = after.billing_origin_product
SORT BY
growth_rate DESC
万能コンピュート( 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 に usage_metadata.dlt_pipeline_id
が設定されているレコードのクエリを課金利用システムテーブルに送信します。 パイプライン ID は、マテリアライズド ビューまたはストリーミング テーブルを表示するときに、カタログ エクスプローラーの [詳細 ] タブで確認できます。 必要に応じて、日付で消費を制限するには、開始日、終了日、または日付範囲を指定します。 次のクエリは、ID が 00732f83-cd59-4c76-ac0d-57958532ab5b
で使用開始日が 2023-05-30
のパイプラインの DBU 使用量を取得します。
SELECT
sku_name,
usage_date,
SUM(usage_quantity) AS `DBUs`
FROM
system.billing.usage
WHERE
usage_metadata.dlt_pipeline_id = "00732f83-cd59-4c76-ac0d-57958532ab5b"
AND
usage_start_time > "2023-05-30"
GROUP BY
ALL
サーバレス DLT パイプラインの DBU 消費量はどれくらいですか?
サーバレス DLT パイプラインの DBU 使用量と SKU を取得するには、usage_metadata.dlt_pipeline_id
がパイプラインの ID に設定されているレコードのクエリを課金利用 システムテーブルに送信します。 パイプライン ID は、 Delta Live TablesUI でパイプラインを表示するときに、 パイプラインの [詳細 ] タブで確認できます。必要に応じて、日付で消費を制限するには、開始日、終了日、または日付範囲を指定します。 次のクエリは、ID が 00732f83-cd59-4c76-ac0d-57958532ab5b
のパイプラインの 2023 年 12 月からの DBU 使用量を取得します。
SELECT
sku_name,
usage_date,
SUM(usage_quantity) AS `DBUs`
FROM
system.billing.usage
WHERE
usage_metadata.dlt_pipeline_id = "00732f83-cd59-4c76-ac0d-57958532ab5b"
AND
usage_start_time >= "2023-12-01"
AND
usage_end_time < "2024-01-01"
GROUP BY
ALL