課金利用システムテーブルリファレンス
この記事では、課金利用システムテーブルの概要、スキーマ、サンプルクエリなどについて説明します。 システムテーブルを使用すると、アカウントの課金利用データが一元化され、すべてのリージョンにルーティングされるため、ワークスペースがどのリージョンにあっても、アカウントのグローバルな使用状況を表示できます。
このテーブルを使用してジョブのコストを監視する方法については、 システムテーブルを使用したジョブのコストとパフォーマンスの監視を参照してください。
サーバーレスの使用状況を分析する戦略については、 「サーバーレス コンピュートのコストを監視する」を参照してください。
テーブルパス:このシステムテーブルは 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 |
アクセスされているリソースのリージョン。 ネットワーク関連のコストの値のみを返します。 |
|
string |
使用状況レコードに関連付けられているメタストアの ID。 |
|
string |
使用状況レコードに関連付けられているアプリの ID。 |
|
string |
使用状況レコードに関連付けられているアプリのユーザー指定の名前。 |
ID メタデータの参照
identity_metadata
列は、サーバレス請求レコードの責任者を特定するのに役立ちます。この列には、使用状況を ID に帰属させる run_as
値が含まれています。
さらに、Databricks アプリに起因する使用状況は、 identity_metadata.created_by
フィールドに値をログに記録します。 この値には、アプリを作成したユーザーのEメールが入力されます。
identity_metadata.run_as
に記録される ID は、使用状況に関連付けられている製品によって異なります。identity_metadata.run_as
の動作については、次の表を参照してください。
ワークロードの種類 |
のアイデンティティ |
---|---|
Jobs コンピュート |
|
ジョブ用サーバレスコンピュート |
|
ノートブック実行用サーバレスコンピュート |
ノートブック コマンドを実行したユーザー (具体的には、ノートブック セッションを作成したユーザー)。 共有 ノートブックの場合、これには同じノートブック セッションを共有する他のユーザーによる使用も含まれます。 |
Delta Liveテーブルパイプライン |
Delta Live Tables パイプラインの実行にアクセス許可が使用されているユーザー。 これは、パイプラインの所有権を譲渡することで変更できます。 |
基盤モデル ファインチューニング |
ファインチューニング トレーニング実行を開始したユーザーまたはサービスプリンシパル。 |
予測的最適化 |
Databricks所有のサービスプリンシパル that 実行 予測的最適化 operations. |
Lakehouseモニタリング |
モニターを作成したユーザー。 |
注:
FedRamp コンプライアンス標準が有効になっているワークスペースでは、 identity_metadata
列のすべての null 以外の値が __REDACTED__
に置き換えられます。
レコード・タイプ参照
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
AGENT_EVALUATION
FINE_GRAIN_ACCESS_CONTROL
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 `DBUs consumed`
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 は、マテリアライズド ビューまたはストリーミング テーブルを表示するときに、カタログ エクスプローラーの [詳細 ] タブで確認できます。
SELECT
sku_name,
usage_date,
SUM(usage_quantity) AS `DBUs`
FROM
system.billing.usage
WHERE
usage_metadata.dlt_pipeline_id = :dlt_pipeline_id
AND usage_start_time > :usage_start_time
GROUP BY
ALL
サーバレス DLT パイプラインの DBU 消費量はどれくらいですか?
サーバレス DLT パイプラインの DBU 使用量と SKU を取得するには、usage_metadata.dlt_pipeline_id
がパイプラインの ID に設定されているレコードのクエリを課金利用 システムテーブルに送信します。 パイプライン ID は、 Delta Live TablesUI でパイプラインを表示するときに、 パイプラインの [詳細] タブで確認できます。必要に応じて、日付で消費を制限するには、開始日、終了日、または日付範囲を指定します。
SELECT
sku_name,
usage_date,
SUM(usage_quantity) AS `DBUs`
FROM
system.billing.usage
WHERE
usage_metadata.dlt_pipeline_id = :dlt_pipeline_id
AND usage_start_time >= :usage_start_time
AND usage_end_time < :usage_end_time
GROUP BY
ALL