Dela via


Tabellreferens för fakturerbart användningssystem

Den här artikeln innehåller en översikt över tabellen med fakturerbara användningssystem, inklusive schema- och exempelfrågor. Med systemtabeller centraliseras och dirigeras ditt kontos fakturerbara användningsdata till alla regioner, så att du kan visa kontots globala användning från vilken region din arbetsyta befinner sig i.

Information om hur du använder den här tabellen för att övervaka jobbkostnader finns i Övervaka jobbkostnader med systemtabeller.

Strategier för att analysera serverlös användning finns i Övervaka kostnaden för serverlös beräkning.

Tabellsökväg: Den här systemtabellen finns på system.billing.usage.

Schema för fakturerbar användningstabell

Tabellen med fakturerbara användningssystem använder följande schema:

Kolumnnamn Datatyp beskrivning Exempel
record_id sträng Unikt ID för den här posten 11e22ba4-87b9-4cc2
-9770-d10b894b7118
account_id sträng ID för kontot som den här rapporten genererades för 23e22ba4-87b9-4cc2
-9770-d10b894b7118
workspace_id sträng ID för arbetsytan som den här användningen var associerad med 1234567890123456
sku_name sträng SKU:ns namn STANDARD_ALL_PURPOSE_COMPUTE
cloud sträng Moln som den här användningen är relevant för. Möjliga värden är AWS, AZUREoch GCP. AWS, AZURE eller GCP
usage_start_time timestamp Starttiden som är relevant för den här användningsposten. Tidszonsinformation registreras i slutet av värdet med +00:00 utc-tidszon. 2023-01-09 10:00:00.000+00:00
usage_end_time timestamp Den sluttid som är relevant för den här användningsposten. Tidszonsinformation registreras i slutet av värdet med +00:00 utc-tidszon. 2023-01-09 11:00:00.000+00:00
usage_date datum Datum för användningsposten, det här fältet kan användas för snabbare aggregering efter datum 2023-01-01
custom_tags map Taggar som används för den här användningen. Innehåller taggar för beräkningsresurser, jobbtaggar, anpassade arbetsytetaggar och budgetprinciptaggar. { “env”: “production” }
usage_unit sträng Enhet som den här användningen mäts i. Möjliga värden är DPU:er. DBU
usage_quantity decimal Antal enheter som förbrukas för den här posten. 259.2958
usage_metadata Struct Metadata som tillhandahålls av systemet om användningen, inklusive ID:t för beräkningsresurser och jobb (om tillämpligt). Se Analysera användningsmetadata. {cluster_id: null;
instance_pool_id: null;
notebook_id: null;
job_id: null;
node_type: null}
identity_metadata Struct Metadata som tillhandahålls av systemet om de identiteter som ingår i användningen. Se Analysera identitetsmetadata. {run_as: example@email.com}
record_type sträng Oavsett om posten är original, en indragning eller en omskrivning. Värdet är ORIGINAL såvida inte posten är relaterad till en korrigering. Se Analysera korrigeringsposter. ORIGINAL
ingestion_date datum Datum då posten matades in i usage tabellen. 2024-01-01
billing_origin_product sträng Den produkt som har sitt ursprung i användningen. Vissa produkter kan faktureras som olika SKU:er. Möjliga värden finns i Visa information om produkten som är associerad med användningen. JOBS
product_features Struct Information om de specifika produktfunktioner som används. Möjliga värden finns i Produktfunktioner.
usage_type sträng Den typ av användning som tillskrivs produkten eller arbetsbelastningen i faktureringssyfte. Möjliga värden är COMPUTE_TIME, STORAGE_SPACE, NETWORK_BYTES, API_OPERATION, TOKENeller GPU_TIME. STORAGE_SPACE

Analysera användningsmetadata

Värdena i usage_metadata berättar om de resurser som ingår i användningsposten.

Värde Datatyp beskrivning
cluster_id sträng ID för klustret som är associerat med användningsposten
warehouse_id sträng ID för DET SQL-lager som är associerat med användningsposten
instance_pool_id sträng ID för instanspoolen som är associerad med användningsposten
node_type sträng Instanstypen för beräkningsresursen
job_id sträng ID för jobbet som är associerat med användningsposten. Returnerar endast ett värde för serverlös beräknings- eller jobbberäkningsanvändning, annars returneras null.
job_run_id sträng ID för jobbkörningen som är associerad med användningsposten. Returnerar endast ett värde för serverlös beräknings- eller jobbberäkningsanvändning, annars returneras null.
job_name sträng Användarnamn för det jobb som är associerat med användningsposten. Returnerar endast ett värde för jobb som körs på serverlös beräkning, annars returneras null.
notebook_id sträng ID för notebook-filen som är associerad med användningen. Returnerar endast ett värde för serverlös beräkning för notebook-användning, annars returneras null.
notebook_path sträng Lagringssökvägen för arbetsytan för notebook-filen som är associerad med användningen. Returnerar endast ett värde för serverlös beräkning för notebook-användning, annars returneras null.
dlt_pipeline_id sträng ID för Delta Live Tables-pipelinen som är associerad med användningsposten
dlt_update_id sträng ID för pipelineuppdateringen för Delta Live Tables som är associerad med användningsposten
dlt_maintenance_id sträng ID för Delta Live Tables-pipelineunderhållsuppgifter som är associerade med användningsposten
run_name sträng Unik användarriktad identifierare för foundationmodellens finjustering som är associerad med användningsposten
endpoint_name sträng Namnet på den modell som betjänar slutpunkten eller vektorsökningsslutpunkten som är associerad med användningsposten
endpoint_id sträng ID för den modell som betjänar slutpunkten eller vektorsökningsslutpunkten som är associerad med användningsposten
central_clean_room_id sträng ID för det centrala rena rummet som är associerat med användningsposten

Analysera identitetsmetadata

Kolumnen identity_metadata kan hjälpa dig att identifiera vem som ansvarar för en serverlös faktureringspost. Kolumnen innehåller ett run_as värde som tillskriver användningen till en identitet. Identiteten som registreras i identity_metadata.run_as beror på vilken produkt som är associerad med användningen.

Referera till följande tabell för beteendet identity_metadata.run_as :

Typ av arbetsbelastning Identitet för run_as
Jobbberäkning Användaren eller tjänstens huvudnamn som definierats i inställningen run_as . Som standard körs jobb som identitet för jobbägaren, men administratörer kan ändra detta till en annan användare eller tjänstens huvudnamn.
Serverlös beräkning för jobb Användaren eller tjänstens huvudnamn som definierats i inställningen run_as . Som standard körs jobb som identitet för jobbägaren, men administratörer kan ändra detta till en annan användare eller tjänstens huvudnamn.
Serverlös beräkning för notebook-filer Användaren som körde notebook-kommandona (specifikt användaren som skapade notebook-sessionen). För delade notebook-filer inkluderar detta användning av andra användare som delar samma notebook-session.
Delta Live Tables-pipelines Den användare vars behörigheter används för att köra Delta Live Tables-pipelinen. Detta kan ändras genom att överföra pipelinens ägarskap.
Finjustering av grundmodell Användaren eller tjänstens huvudnamn som initierade finjusteringsträningskörningen.

Analysera korrigeringsposter

Tabellen billing.usage stöder korrigeringar. Korrigeringar sker när något fält i användningsposten är felaktigt och måste åtgärdas.

När en korrigering sker lägger Azure Databricks till två nya poster i tabellen. En indragspost negerar den ursprungliga felaktiga posten och sedan innehåller en omskrivningspost den korrigerade informationen. Korrigeringsposter identifieras med hjälp av fältet record_type :

  • RETRACTION: Används för att negera den ursprungliga felaktiga användningen. Alla fält är identiska med ORIGINAL posten förutom usage_quantity, vilket är ett negativt värde som tar bort den ursprungliga användningskvantiteten. Om den ursprungliga postens användningskvantitet till exempel var 259.4356skulle indragsposten ha en användningskvantitet på -259.4356.
  • RESTATEMENT: Posten som innehåller rätt fält och användningskvantitet.

Följande fråga returnerar till exempel rätt användningskvantitet varje timme som är relaterad till en job_id, även om korrigeringar har gjorts. Genom att aggregera användningskvantiteten negerar återdragningsposten den ursprungliga posten och endast omräkningsvärdena returneras.

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

Kommentar

För korrigeringar där den ursprungliga användningsposten inte borde ha skrivits kan en korrigering bara lägga till en återrullningspost och ingen omskrivningspost.

Visa information om produkten som är associerad med användningen

Vissa Databricks-produkter faktureras under samma delade SKU. För att hjälpa dig att särskilja användningen ger kolumnerna billing_origin_product och product_features mer insikt i den specifika produkten och de funktioner som är associerade med användningen.

Kolumnen billing_origin_product visar den Databricks-produkt som är associerad med användningsposten. Värdena omfattar:

  • JOBS
  • DLT
  • SQL
  • ALL_PURPOSE
  • MODEL_SERVING
  • INTERACTIVE
  • DEFAULT_STORAGE
  • VECTOR_SEARCH
  • LAKEHOUSE_MONITORING
  • PREDICTIVE_OPTIMIZATION
  • ONLINE_TABLES
  • FOUNDATION_MODEL_TRAINING

Kolumnen product_features är ett objekt som innehåller information om de specifika produktfunktioner som används och innehåller följande nyckel/värde-par:

  • jobs_tier: värden inkluderar LIGHT, CLASSIC, eller null
  • sql_tier: värden inkluderar CLASSIC, PRO, eller null
  • dlt_tier: värden inkluderar CORE, PRO, ADVANCED, eller null
  • is_serverless: värden inkluderar true eller false, eller null
  • is_photon: värden inkluderar true eller false, eller null
  • serving_type: värden inkluderar MODEL, GPU_MODEL, FOUNDATION_MODEL, FEATUREeller null

Exempelfrågor

Du kan använda följande exempelfrågor för att besvara vanliga frågor om fakturerbar användning:

Vilken är den dagliga trenden i DBU-förbrukning?

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

Hur många DPU:er för varje produkt har använts under hela den här månaden?

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

Vilka jobb förbrukade flest DPU:er?

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

Hur mycket användning kan tillskrivas resurser med en specifik tagg?

Du kan dela upp kostnader på olika sätt. Det här exemplet visar hur du delar upp kostnader med en anpassad tagg. Se till att ersätta den anpassade taggens nyckel och värde i frågan.

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

Visa mig de produkter där användningen växer

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

Vad är användningstrenden för 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

Vad är DBU-förbrukningen för en materialiserad vy eller en strömmande tabell?

Om du vill hämta DBU-användningen och SKU:n för en specifik materialiserad vy eller strömmande tabell skickar du en fråga till den fakturerbara användningssystemtabellen för poster där usage_metadata.dlt_pipeline_id är inställt på ID:t för pipelinen som är associerad med den materialiserade vyn eller strömningstabellen. Du hittar pipeline-ID:t på fliken Information i Katalogutforskaren när du visar den materialiserade vyn eller strömningstabellen. Om du vill begränsa förbrukningen efter datum anger du ett startdatum, slutdatum eller ett datumintervall. Följande fråga hämtar DBU-användningen för pipelinen med ID 00732f83-cd59-4c76-ac0d-57958532ab5b och användningsstartdatumet 2023-05-30:

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

Vad är DBU-förbrukningen för en serverlös DLT-pipeline?

Om du vill hämta DBU-användningen och SKU:n för en serverlös DLT-pipeline skickar du en fråga till den fakturerbara användningssystemtabellen för poster där usage_metadata.dlt_pipeline_id är inställt på pipelinens ID. Du hittar pipeline-ID:t på fliken Pipelineinformation när du visar en pipeline i Delta Live Tables-användargränssnittet. Om du vill begränsa förbrukningen efter datum anger du ett startdatum, slutdatum eller ett datumintervall. Följande fråga hämtar DBU-användningen från december 2023 för pipelinen med ID 00732f83-cd59-4c76-ac0d-57958532ab5b.

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