次の方法で共有


課金対象の使用状況システム テーブル リファレンス

重要

この機能はパブリック プレビュー段階にあります。

この記事では、スキーマやクエリの例を含め、課金対象の使用状況システム テーブルの概要について説明します。 システム テーブルを使うと、アカウントの課金対象の使用状況データが一元化されるとともにすべてのリージョンにルーティングされるため、ワークスペースのリージョンからアカウントの全体的な使用量を確認できます。

このテーブルを使用してジョブ コストを監視する方法については、「システム テーブルを使用してジョブ コストを監視する」を参照してください。

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

課金対象の使用状況テーブル スキーマ

課金対象使用量システム テーブルは 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 です。 AWSAZURE、または GCP
usage_start_time timestamp この使用状況レコードに関連する開始時間 2023-01-09 10:00:00.000
usage_end_time timestamp この使用状況レコードに関連する終了時間 2023-01-09 11:00:00.000
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 レコードが訂正されているかどうか。 有効な値は ORIGINALRETRACTIONRESTATEMENT です。 ORIGINAL
ingestion_date 日付 レコードが usage テーブルに取り込まれた日付。 2024-01-01
billing_origin_product string 使用元の製品。 一部の製品は、異なる SKU として課金できます。 使用可能な値については、「使用状況に関連付けられた製品に関する情報を表示する」を参照してください。 JOBS
product_features struct 使用される特定の製品機能の詳細。 使用可能な値については、「製品機能」を参照してください。
usage_type string 課金目的で製品またはワークロードに起因する使用状況の種類。 使用可能な値は COMPUTE_TIMECOMPUTE_SLOTSTORAGE_SPACENETWORK_BYTESAPI_CALLSTOKEN、または GPU_TIME です。 STORAGE_SPACE

使用状況メタデータを解析する

usage_metadata の値は、使用状況レコードに関係するリソースについて伝達します。

Value データ型 説明
cluster_id string 使用状況レコードに関連するクラスターの 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

Note

まれに、Azure Databricks が job_run_id メタデータのキャプチャを開始する前に計算の実行を開始する長期ジョブの job_run_id が入力されない場合があります。 ジョブの計算を再起動して、job_run_id の記録を開始します。

job_id または notebook_id を使用して、UI でジョブまたはノートブックを検索する

これらの手順では、ID に基づいて UI で特定のジョブやノートブックを表示する方法について説明します。

UI の job_id に基づく UI でジョブを検索するには、次の操作を行います。

  1. 使用状況レコードから job_id をコピーします。 この例では、ID が 700809544510906 であると想定します。
  2. ジョブと同じ Azure Databricks ワークスペースのワークフロー UI に移動します。
  3. [ユーザーが所有するジョブのみ] フィルターのチェックボックスがオフになっていることを確認してください。
  4. ID (700809544510906) を [ジョブのフィルター] 検索バーに貼り付けてください。

UI の notebook_id に基づく UI でノートブックを検索するには、次の手順を使用してください。

  1. 使用状況レコードから notebook_id をコピーします。 この例では、ID が 700809544510906 であると想定します。
  2. ノートブックと同じ Azure Databricks ワークスペースのワークスペース UI に移動します。
  3. 表示されたノートブックをクリックしてます。
  4. ノートブックを開いたら、ブラウザーのアドレス バーにある URL を調べてください。 https://<account-console-url>/?o=<workspace ID>#notebook/<notebook ID>/command/<command ID> のようになります。
  5. ブラウザーのアドレス バーで、ノートブック ID を最初の手順でコピーした ID に置き換え、ノートブック ID 以降をすべて削除します。 https://<account-console-url>/?o=<workspace ID>#notebook/700809544510906 のようになります。
  6. ノートブックを表示した後、[共有] ボタンをクリックすると、ノートブックの所有者を表示できます。

ID メタデータを解析する

identity_metadata 列はサーバーレスの請求レコードの責任者を特定するのに役立ちます。 列には、使用状況を ID に帰属させる run_as 値が含まれます。 identity_metadata.run_as に記録される ID は、使用状況に関連付けられている製品によって異なります。

identity_metadata.run_as の動作については、次のテーブルをご覧ください。

ワークロードの種類 run_as の ID
ワークフローのサーバーレス コンピューティング [実行するアカウント名] 設定で定義されたユーザまたはサービス プリンシパル。 既定では、ジョブはジョブ所有者の ID として実行されますが、管理者はこれを他のユーザーやサービス プリンシパルに変更できます。
ノートブックのサーバーレス コンピューティング ノートブック コマンドを実行したユーザー (具体的には、ノートブック セッションを作成したユーザー)。 共有ノートブックの場合は、同じノートブック セッションを共有している他のユーザーによる使用状況も含まれます。

使用状況に関連付けられた製品に関する情報を表示する

一部の 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

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 があります

サンプル クエリ

次のサンプル クエリを使うと、課金対象の使用状況に関する一般的な質問に回答できます。

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