Share via


Informazioni di riferimento sulla tabella del sistema di utilizzo fatturabile

Importante

Questa funzionalità è disponibile in anteprima pubblica.

Questo articolo offre una panoramica della tabella del sistema di utilizzo fatturabile, inclusi lo schema e le query di esempio. Con le tabelle di sistema, i dati di utilizzo fatturabili dell'account sono centralizzati e indirizzati a tutte le aree, in modo da poter visualizzare l'utilizzo globale dell'account da qualsiasi area in cui si trova l'area di lavoro.

Schema della tabella di utilizzo fatturabile

La tabella del sistema di utilizzo fatturabile si trova in system.billing.usage e usa lo schema seguente:

Nome colonna Tipo di dati Descrizione Esempio
record_id string ID univoco per questo record 11e22ba4-87b9-4cc2-9770-d10b894b7118
account_id string ID dell'account per cui è stato generato il report 23e22ba4-87b9-4cc2-9770-d10b894b7118
workspace_id string ID dell'area di lavoro a cui è stato associato questo utilizzo 1234567890123456
sku_name string Nome dello SKU STANDARD_ALL_PURPOSE_COMPUTE
cloud string Questo utilizzo è rilevante per il cloud. I valori possibili sono AWS, AZURE e GCP. AWS, AZURE o GCP
usage_start_time timestamp Ora di inizio relativa a questo record di utilizzo 2023-01-09 10:00:00.000
usage_end_time timestamp Ora di fine relativa a questo record di utilizzo 2023-01-09 11:00:00.000
usage_date data Data del record di utilizzo, questo campo può essere usato per un'aggregazione più veloce per data 2023-01-01
custom_tags mappa Tag applicati dagli utenti a questo utilizzo { “env”: “production” }
usage_unit string Unità in cui viene misurato questo utilizzo. I valori possibili includono le DPU. DBU
usage_quantity decimale Numero di unità utilizzate per questo record. 259.2958
usage_metadata struct Metadati forniti dal sistema relativi all'utilizzo, inclusi gli ID per le risorse di calcolo e i processi (se applicabile). Vedere Analizzare i metadati di utilizzo. {cluster_id: null; instance_pool_id: null; notebook_id: null; job_id: null; node_type: null}
identity_metadata struct Metadati forniti dal sistema sulle identità coinvolte nell'utilizzo. Vedere Analizzare i metadati delle identità. {run_as: example@email.com}
record_type string Indica se il record è una correzione. I valori possibili sono ORIGINAL, RETRACTION e RESTATEMENT. ORIGINAL
ingestion_date data Data di inserimento del record nella usage tabella. 2024-01-01
billing_origin_product string Prodotto che ha originato l'utilizzo. Alcuni prodotti possono essere fatturati come SKU diversi. Per i valori possibili, vedere Visualizzare informazioni sul prodotto associato all'utilizzo. JOBS
product_features struct Informazioni dettagliate sulle funzionalità specifiche del prodotto usate. Per i valori possibili, vedere Funzionalità del prodotto.
usage_type string Tipo di utilizzo attribuito al prodotto o al carico di lavoro a scopo di fatturazione. I valori possibili sono COMPUTE_TIME, COMPUTE_SLOT, NETWORK_BYTESSTORAGE_SPACE, API_CALLS, , TOKENo GPU_TIME. STORAGE_SPACE

Analizzare i metadati di utilizzo

I valori in usage_metadata indicano le risorse coinvolte nel record di utilizzo.

Valore Tipo di dati Descrizione
cluster_id string ID del cluster associato al record di utilizzo
instance_pool_id string ID del pool di istanze associato al record di utilizzo
node_type string Tipo di istanza della risorsa di calcolo
job_id string ID del processo associato al record di utilizzo
job_run_id string ID dell'esecuzione del processo associata al record di utilizzo
notebook_id string ID del notebook associato al record di utilizzo
dlt_pipeline_id string ID della pipeline Delta Live Tables associata al record di utilizzo

Nota

In rari casi, job_run_id non viene popolato per i processi con esecuzione prolungata il cui calcolo è stato avviato prima che Azure Databricks inizi a acquisire i job_run_id metadati. Riavviare il calcolo del processo per iniziare a registrare .job_run_id

Trovare un processo o un notebook nell'interfaccia utente usando job_id o notebook_id

Queste istruzioni illustrano come eseguire il pull di un processo o di un notebook specifico nell'interfaccia utente in base al relativo ID.

Per trovare un processo nell'interfaccia utente in base al relativo job_id:

  1. Copiare dal job_id record di utilizzo. Per questo esempio, si supponga che l'ID sia 700809544510906.
  2. Passare all'interfaccia utente Flussi di lavoro nella stessa area di lavoro di Azure Databricks del processo.
  3. Verificare che il filtro Only jobs owned by me (Solo i processi di proprietà di me ) siano deselezionati.
  4. Incollare l'ID (700809544510906) nella barra di ricerca Filtri processi.

Per trovare un notebook nell'interfaccia utente in base a notebook_id, usare le istruzioni seguenti:

  1. Copiare dal notebook_id record di utilizzo. Per questo esempio, si supponga che l'ID sia 700809544510906.
  2. Passare all'interfaccia utente aree di lavoro nella stessa area di lavoro di Azure Databricks del notebook.
  3. Fare clic su qualsiasi notebook visualizzato.
  4. Dopo aver aperto il notebook, esaminare l'URL nella barra degli indirizzi del browser. Dovrebbe essere simile https://<account-console-url>/?o=<workspace ID>#notebook/<notebook ID>/command/<command ID>a .
  5. Nella barra degli indirizzi del browser sostituire l'ID del notebook con l'ID copiato nel primo passaggio, quindi eliminare tutti gli elementi dopo l'ID del notebook. Dovrebbe essere simile https://<account-console-url>/?o=<workspace ID>#notebook/700809544510906a .
  6. Dopo aver estratto il notebook, è possibile fare clic sul pulsante Condividi per visualizzare il proprietario del notebook.

Analizzare i metadati delle identità

La identity_metadata colonna consente di identificare chi è responsabile di un record di fatturazione serverless. La colonna include un run_as valore che attributi l'utilizzo a un'identità. L'identità registrata in identity_metadata.run_as dipende dal prodotto associato all'utilizzo.

Fare riferimento alla tabella seguente per il identity_metadata.run_as comportamento:

Tipo di carico di lavoro Identità di run_as
Calcolo serverless per i flussi di lavoro L'utente o l'entità servizio definita nell'impostazione RunAs. Per impostazione predefinita, i processi vengono eseguiti come identità del proprietario del processo, ma gli amministratori possono modificarli in modo che siano un altro utente o un'entità servizio.
Calcolo serverless per notebook L'utente che ha eseguito i comandi del notebook( in particolare l'utente che ha creato la sessione del notebook). Per i notebook condivisi, questo include l'utilizzo da parte di altri utenti che condividono la stessa sessione del notebook.

Visualizzare informazioni sul prodotto associato all'utilizzo

Alcuni prodotti Databricks vengono fatturati con lo stesso SKU condiviso. Per differenziare l'utilizzo, le billing_origin_product colonne e product_features forniscono maggiori informazioni dettagliate sui prodotti e le funzionalità specifici associati all'utilizzo.

La billing_origin_product colonna mostra il prodotto Databricks associato al record di utilizzo. I valori includono:

  • JOBS
  • DLT
  • SQL
  • ALL_PURPOSE
  • MODEL_SERVING
  • INTERACTIVE
  • MANAGED_STORAGE
  • VECTOR_SEARCH
  • LAKEHOUSE_MONITORING
  • PREDICTIVE_OPTIMIZATION
  • ONLINE_TABLES

La product_features colonna è un oggetto contenente informazioni sulle funzionalità specifiche del prodotto usate e include le coppie chiave/valore seguenti:

  • jobs_tier: i valori includono LIGHT, CLASSICo null
  • sql_tier: i valori includono CLASSIC, PROo null
  • dlt_tier: i valori includono CORE, PROADVANCED, , onull
  • is_serverless: i valori includono true o falseo null
  • is_photon: i valori includono true o falseo null
  • serving_type: i valori includono MODEL, GPU_MODELFOUNDATION_MODEL, FEATURE, onull

Utilizzo delle risorse di calcolo serverless

Per le strategie sull'analisi dell'utilizzo serverless, vedere Monitorare il costo del calcolo serverless.

Query di esempio

È possibile usare le query di esempio seguenti per rispondere a domande comuni sull'utilizzo fatturabile:

Qual è la tendenza giornaliera del consumo 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

Quante UNITÀ di database di ogni SKU sono state usate nel corso di questo mese?

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

Quanto sku ha usato un'area di lavoro il 1° giugno?

Assicurarsi di sostituire workspace_id con l'ID dell'area di lavoro effettivo.

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

Nota

Questa query restituisce una riga per ID SKU univoco usato nell'area di lavoro nella data scelta.

Quali processi hanno utilizzato la maggior parte delle UNITÀ di database?

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

Quanto utilizzo può essere attribuito alle risorse con un tag specifico?

È possibile suddividere i costi in vari modi. In questo esempio viene illustrato come suddividere i costi in base a un tag personalizzato. Assicurarsi di sostituire la chiave e il valore del tag personalizzato nella query.

SELECT sku_name, usage_unit, SUM(usage_quantity) as `DBUs consumed`
FROM system.billing.usage
WHERE custom_tags.{{key}} = "{{value}}"
GROUP BY 1, 2

Mostra gli SKU in cui l'utilizzo è in crescita

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

Qual è la tendenza di utilizzo di 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

Qual è il consumo DBU di una vista materializzata o di una tabella di streaming?

Per determinare l'utilizzo e lo SKU DBU per una vista materializzata o una tabella di streaming specifica, è necessario l'ID pipeline associato (dlt_pipeline_id). Trovare l'ID pipeline nella scheda Dettagli quando si visualizza la vista materializzata o la tabella di streaming pertinente in Esplora cataloghi.

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