課金利用システムテーブルリファレンス

この記事では、課金利用システムテーブルの概要、スキーマ、サンプルクエリなどについて説明します。 システムテーブルを使用すると、アカウントの課金利用データが一元化され、すべてのリージョンにルーティングされるため、ワークスペースがどのリージョンにあっても、アカウントのグローバルな使用状況を表示できます。

このテーブルを使用してジョブのコストを監視する方法については、 システムテーブルを使用したジョブのコストとパフォーマンスの監視を参照してください。

サーバーレスの使用状況を分析する戦略については、 「サーバーレス コンピュートのコストを監視する」を参照してください。

テーブルパス:このシステムテーブルは 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

この使用法が関連するクラウド。 可能な値は、 AWSAZUREGCPです。

AWS、[ AZURE]、または GCP

usage_start_time

timestamp

この使用レコードに関連する開始時刻。 タイムゾーン情報は値の最後に記録され、 +00:00 UTC タイムゾーンを表します。

2023-01-09 10:00:00.000+00:00

usage_end_time

timestamp

この使用レコードに関連する終了時刻。 タイムゾーン情報は値の最後に記録され、 +00:00 UTC タイムゾーンを表します。

2023-01-09 11:00:00.000+00:00

usage_date

日付

使用状況レコードの日付、このフィールドを使用すると、日付による集計を高速化できます

2023-01-01

custom_tags

マップ

この使用法に適用されるタグ。 コンピュート リソース タグ、ジョブ タグ、予算ポリシー タグが含まれます。

{ “env”: “production” }

usage_unit

string

この使用量が測定される単位。 可能な値には DBU が含まれます。

DBU

usage_quantity

DECIMALタイプ

このレコードで消費されたユニットの数。

259.2958

usage_metadata

構造体

コンピュート リソースとジョブ (該当する場合) の ID など、使用状況に関するシステム提供のメタデータ。 「使用状況メタデータのリファレンス」を参照してください。

{cluster_id: null; instance_pool_id: null; notebook_id: null; job_id: null; node_type: null}

identity_metadata

構造体

使用に関連する ID に関するシステム提供のメタデータ。 「ID メタデータのリファレンス」を参照してください。

{"run_as": example@email.com,"created_by":null}

record_type

string

レコードがオリジナル、撤回、または修正のいずれであるか。 レコードが修正に関連している場合を除き、値は ORIGINAL です。 「レコード・タイプ・リファレンス」を参照してください。

ORIGINAL

ingestion_date

日付

レコードが usage テーブルに取り込まれた日付。

2024-01-01

billing_origin_product

string

使用を開始した製品。 一部の製品は、異なるSKUとして請求できます。 使用可能な値については、 請求元製品リファレンスを参照してください。

JOBS

product_features

構造体

使用される特定の製品機能に関する詳細。

可能な値については、 「製品の機能」を参照してください。

usage_type

string

課金目的で製品またはワークロードに帰属する使用状況のタイプ。 指定できる値は、 COMPUTE_TIMESTORAGE_SPACENETWORK_BYTESAPI_OPERATIONTOKEN、または GPU_TIMEです。

STORAGE_SPACE

使用状況メタデータの参照

usage_metadataの値は、使用状況レコードに関連するオブジェクトとリソースを示します。

データ型

説明

cluster_id

string

使用状況記録に関連付けられたクラスターのID

warehouse_id

string

使用状況レコードに関連付けられたSQLウェアハウスの ID

instance_pool_id

string

使用状況レコードに関連付けられたインスタンス プールの ID

node_type

string

コンピュートリソースのインスタンスタイプ

job_id

string

使用状況レコードに関連付けられているジョブの ID。 サーバレス コンピュートまたはジョブ コンピュート usage の値のみを返し、それ以外の場合は nullを返します

job_run_id

string

使用状況レコードに関連付けられているジョブ実行の ID。 サーバレス コンピュートまたはジョブ コンピュート usage の値のみを返し、それ以外の場合は nullを返します

job_name

string

使用状況レコードに関連付けられたジョブのユーザー指定の名前。 サーバレス コンピュート上のジョブ実行の値のみを返し、それ以外の場合は nullを返します

notebook_id

string

使用状況に関連付けられたノートブックの ID。 コンピュータの使用状況に応じて、サーバレス コンピュートの値のみを返し、それ以外の場合はnullを返します

notebook_path

string

使用状況に関連付けられているノートブックのワークスペース ストレージ パス。 ノートブックの使用については、サーバレス コンピュートの値のみを返し、それ以外の場合は nullを返します

dlt_pipeline_id

string

使用状況レコードに関連付けられた Delta Live Tables パイプラインの ID

dlt_update_id

string

使用状況レコードに関連付けられている Delta Live Tables パイプライン更新の ID

dlt_maintenance_id

string

使用状況レコードに関連付けられている Delta Live Tables パイプラインのメンテナンス タスクの ID

run_name

string

使用状況レコードに関連付けられた基盤モデル ファインチューニング 実行の一意のユーザー向け識別子

endpoint_name

string

使用状況レコードに関連付けられているモデルサービング エンドポイントまたはベクトル検索エンドポイントの名前

endpoint_id

string

使用状況レコードに関連付けられたモデルサービング エンドポイントまたはベクトル検索エンドポイントの ID

central_clean_room_id

string

使用レコードに関連付けられたセントラルクリーンルームのID

source_region

string

使用状況に関連付けられているワークスペースのリージョン。 ネットワーク関連のコストの値のみを返します。

destination_region

string

アクセスされているリソースのリージョン。 ネットワーク関連のコストの値のみを返します。

metastore_id

string

使用状況レコードに関連付けられているメタストアの ID。

app_id

string

使用状況レコードに関連付けられているアプリの ID。

app_name

string

使用状況レコードに関連付けられているアプリのユーザー指定の名前。

ID メタデータの参照

identity_metadata列は、サーバレス請求レコードの責任者を特定するのに役立ちます。この列には、使用状況を ID に帰属させる run_as 値が含まれています。

さらに、Databricks アプリに起因する使用状況は、 identity_metadata.created_by フィールドに値をログに記録します。 この値には、アプリを作成したユーザーのEメールが入力されます。

identity_metadata.run_asに記録される ID は、使用状況に関連付けられている製品によって異なります。identity_metadata.run_asの動作については、次の表を参照してください。

ワークロードの種類

のアイデンティティ run_as

Jobs コンピュート

run_as設定で定義されているユーザーまたはサービスプリンシパル。デフォルトでは、ジョブはジョブ所有者のIDとして実行されますが、管理者はこれを別のユーザーまたはサービスプリンシパルに変更できます。

ジョブ用サーバレスコンピュート

run_as設定で定義されているユーザーまたはサービスプリンシパル。デフォルトでは、ジョブはジョブ所有者のIDとして実行されますが、管理者はこれを別のユーザーまたはサービスプリンシパルに変更できます。

ノートブック実行用サーバレスコンピュート

ノートブック コマンドを実行したユーザー (具体的には、ノートブック セッションを作成したユーザー)。 共有 ノートブックの場合、これには同じノートブック セッションを共有する他のユーザーによる使用も含まれます。

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: 値には LIGHTCLASSIC、または null

  • sql_tier: 値には CLASSICPRO、または null

  • dlt_tier: 値には、 COREPROADVANCEDが含まれます。 null

  • is_serverless: 値に true または falseが含まれる場合、または null

  • is_photon: 値に true または falseが含まれる場合、または null

  • serving_type:値には、 MODELGPU_MODELFOUNDATION_MODELFEATURE、または null

  • networking.connectivity_type: 値には PUBLIC_IPPRIVATE_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