Udostępnij za pośrednictwem


Informacje o rozliczanym systemie użycia table

Ten artykuł zawiera omówienie systemu rozliczania użycia table, w tym schema oraz przykładowe zapytania. Dzięki systemowi tablesdane rozliczeniowe użycia konta są scentralizowane i kierowane do wszystkich regionów, co pozwala wyświetlić globalne użycie konta niezależnie od regionu, w którym znajduje się środowisko pracy.

Aby uzyskać informacje na temat używania tej table do monitorowania kosztów zadań, zobacz Monitorowanie kosztów zadań & wydajności za pomocą systemu tables.

Aby zapoznać się ze strategiami analizowania użycia bezserwerowego, zobacz Monitorowanie kosztów obliczeń bezserwerowych.

Table ścieżka: ten system table znajduje się w lokalizacji system.billing.usage.

Rozliczane użycie tableschema

System rozliczania użycia table korzysta z następujących schema:

nazwa Column Typ danych opis Przykład
record_id string Unikatowy identyfikator dla tego rekordu użycia 11e22ba4-87b9-4cc2
-9770-d10b894b7118
account_id string Identyfikator konta, dla którego został wygenerowany ten raport 23e22ba4-87b9-4cc2
-9770-d10b894b7118
workspace_id string Identyfikator obszaru roboczego, z którego zostało skojarzone to użycie 1234567890123456
sku_name string Nazwa jednostki SKU STANDARD_ALL_PURPOSE_COMPUTE
cloud string W chmurze to użycie jest istotne. Możliwe values to AWS, AZUREi GCP. AWS, AZURE lub GCP
usage_start_time timestamp Godzina rozpoczęcia istotna dla tego rekordu użycia. Timezone informacje są zapisywane na końcu wartości z +00:00 reprezentującym UTC timezone. 2023-01-09 10:00:00.000+00:00
usage_end_time timestamp Godzina zakończenia istotna dla tego rekordu użycia. Timezone informacje są zapisywane na końcu wartości z +00:00 reprezentującym UTC timezone. 2023-01-09 11:00:00.000+00:00
usage_date data Data rekordu użycia, to pole może służyć do szybszej agregacji według daty 2023-01-01
custom_tags map Tagi zastosowane do tego użycia. Obejmuje tagi zasobów obliczeniowych, tagi zadań, tagi niestandardowe obszaru roboczego i tagi zasad budżetu. { “env”: “production” }
usage_unit string Jednostka, w ramach których to użycie jest mierzone. Możliwe values obejmują jednostki DBU. DBU
usage_quantity decimal Liczba jednostek użytych dla tego rekordu. 259.2958
usage_metadata struktura Metadane dostarczone przez system dotyczące użycia, w tym identyfikatory zasobów obliczeniowych i zadań (jeśli dotyczy). Zobacz Dokumentacja metadanych użycia. {cluster_id: null;
instance_pool_id: null;
notebook_id: null;
job_id: null;
node_type: null}
identity_metadata struktura Metadane udostępniane przez system dotyczące tożsamości związanych z użyciem. Zobacz Identity metadata reference (Dokumentacja metadanych tożsamości ). {"run_as": example@email.com,"created_by":null}
record_type string Niezależnie od tego, czy rekord jest oryginalny, wycofywanie, czy też zmiana. Wartość jest ORIGINAL , chyba że rekord jest powiązany z korektą. Zobacz odniesienie do rodzaju rekordu. ORIGINAL
ingestion_date data Data, kiedy rekord został zapisany do usagetable. 2024-01-01
billing_origin_product string Produkt, który pochodzi z użycia. Niektóre produkty mogą być rozliczane jako różne jednostki SKU. Aby uzyskać informacje o możliwych values, sprawdź odniesienie do produktu pochodzenia rozliczeń. JOBS
product_features struktura Szczegółowe informacje o używanych funkcjach produktu. Aby uzyskać informacje o możliwych values, zobacz Funkcje produktu.
usage_type string Typ użycia przypisany do produktu lub obciążenia na potrzeby rozliczeń. Możliwe values: COMPUTE_TIME, STORAGE_SPACE, NETWORK_BYTES, API_OPERATION, TOKENlub GPU_TIME. STORAGE_SPACE

Dokumentacja dotycząca metadanych użycia

values w usage_metadata informują o obiektach i zasobach zaangażowanych w zapis użycia.

Wartość Typ danych opis
cluster_id string Identyfikator klastra skojarzonego z rekordem użycia
warehouse_id string Identyfikator usługi SQL Warehouse skojarzonej z rekordem użycia
instance_pool_id string Identyfikator puli wystąpień skojarzonej z rekordem użycia
node_type string Typ wystąpienia zasobu obliczeniowego
job_id string Identyfikator zadania skojarzonego z rekordem użycia. Zwraca tylko wartość dla bezserwerowego użycia zasobów obliczeniowych lub obliczeniowych zadań. W przeciwnym razie zwraca wartość null.
job_run_id string Identyfikator przebiegu zadania skojarzonego z rekordem użycia. Zwraca tylko wartość dla bezserwerowego użycia zasobów obliczeniowych lub obliczeniowych zadań. W przeciwnym razie zwraca wartość null.
job_name string Nadana przez użytkownika nazwa zadania skojarzonego z rekordem użycia. Zwraca tylko wartość dla zadań uruchamianych w obliczeniach bezserwerowych. W przeciwnym razie zwraca wartość null.
notebook_id string Identyfikator notesu skojarzonego z użyciem. Zwraca tylko wartość bezserwerowych obliczeń dla użycia notesu. W przeciwnym razie zwraca wartość null.
notebook_path string Ścieżka magazynu obszaru roboczego notesu skojarzonego z użyciem. Zwraca tylko wartość bezserwerowych obliczeń dla użycia notesu. W przeciwnym razie zwraca wartość null.
dlt_pipeline_id string Identyfikator potoku usługi Delta Live Tables skojarzonego z rekordem użycia
dlt_update_id string Identyfikator pipeline Delta Live Tablesupdate powiązany z rekordem użycia
dlt_maintenance_id string Identyfikator zadań konserwacji pipeliny Delta Live Tables związanych z rekordem użycia
run_name string Unikatowe, zorientowane na użytkownika identifier strojenia modelu podstawowego powiązane z rekordem użycia
endpoint_name string Nazwa modelu obsługującego punkt końcowy lub punkt końcowy wyszukiwania wektorów skojarzony z rekordem użycia
endpoint_id string Identyfikator modelu obsługującego punkt końcowy lub punkt końcowy wyszukiwania wektorów skojarzony z rekordem użycia
central_clean_room_id string Identyfikator centralnego czystego pomieszczenia skojarzonego z rekordem użycia
metastore_id string Identyfikator magazynu metadanych skojarzonego z rekordem użycia.
app_id string Identyfikator aplikacji skojarzonej z rekordem użycia.
app_name string Nadana przez użytkownika nazwa aplikacji skojarzonej z rekordem użycia.

Odniesienie do metadanych tożsamości

identity_metadata column może pomóc określić, kto jest odpowiedzialny za bezserwerowy rekord rozliczeniowy. column zawiera wartość run_as, która przypisuje użycie do tożsamości.

Ponadto użycie przypisane do usługi Databricks Apps rejestruje wartość w polu identity_metadata.created_by. Ta wartość jest wypełniana pocztą e-mail użytkownika, który utworzył aplikację.

Tożsamość zarejestrowana w pliku identity_metadata.run_as zależy od produktu skojarzonego z użyciem. Odwołaj się do następujących table dla zachowania identity_metadata.run_as:

Typ obciążenia Tożsamość run_as
Obliczenia zadań Użytkownik lub jednostka usługi zdefiniowana w ustawieniu run_as . Domyślnie zadania są uruchamiane jako tożsamość właściciela zadania, ale administratorzy mogą zmienić to na innego użytkownika lub jednostki usługi.
Bezserwerowe obliczenia dla zadań Użytkownik lub jednostka usługi zdefiniowana w ustawieniu run_as . Domyślnie zadania są uruchamiane jako tożsamość właściciela zadania, ale administratorzy mogą zmienić to na innego użytkownika lub jednostki usługi.
Bezserwerowe obliczenia dla notesów Użytkownik, który uruchomił polecenia notesu (w szczególności użytkownika, który utworzył sesję notesu). W przypadku notesów udostępnionych obejmuje to użycie przez innych użytkowników współużytkowanych w tej samej sesji notesu.
Potoki Delta Live Tables Użytkownik, którego uprawnienia są używane do uruchamiania potoku Delta Live Tables. Można to zmienić, przenosząc własność potoku.
Dostrajanie modelu podstawowego Użytkownik lub jednostka usługi, która zainicjowała przebieg trenowania dostrajania.
Optymalizacja predykcyjna Jednostka usługi należącej do usługi Databricks, która uruchamia operacje optymalizacji predykcyjnej.
Monitorowanie usługi Lakehouse Użytkownik, który utworzył monitor.

Odniesienie do typu rekordu

billing.usage table obsługuje poprawki. Poprawki występują, gdy dowolne pole rekordu użycia jest nieprawidłowe i należy je naprawić.

Gdy wystąpi korekta, usługa Azure Databricks dodaje dwa nowe rekordy do table. Rekord wycofywania neguje oryginalny nieprawidłowy rekord, a następnie rekord ponownego przechowywania zawiera poprawione informacje. Rekordy poprawek są identyfikowane przy użyciu record_type pola:

  • RETRACTION: służy do negowania oryginalnego nieprawidłowego użycia. Wszystkie pola są identyczne z rekordem ORIGINAL z wyjątkiem usage_quantitywartości ujemnej, która anuluje oryginalną ilość użycia. Jeśli na przykład ilość użycia oryginalnego rekordu to 259.4356, rekord wycofywania będzie miał ilość -259.4356użycia .
  • RESTATEMENT: Rekord zawierający poprawne pola i ilość użycia.

Na przykład następujące zapytanie zwraca poprawną ilość użycia godzinowego powiązaną z wartością job_id, nawet jeśli zostały wprowadzone poprawki. Agregując ilość użycia, rekord wycofania anuluje oryginalny rekord i zwracane są tylko values ponownego zapisu.

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

Uwaga

W przypadku poprawek where oryginalny rekord użycia nie powinien być zapisywany, korekta może tylko dodać rekord wycofania i bez rekordu ponownego zapisu.

referencja produktu źródła rozliczeń

Niektóre produkty usługi Databricks są rozliczane w ramach tej samej udostępnionej jednostki SKU. Aby ułatwić odróżnienie użycia, billing_origin_product i product_featurescolumns zapewniają lepszy wgląd w konkretny produkt i funkcje związane z użyciem.

billing_origin_product column pokazuje produkt Databricks powiązany z rekordem użycia. Elementy values obejmują:

  • JOBS

  • DLT

  • SQL

  • ALL_PURPOSE

  • MODEL_SERVING

  • INTERACTIVE

  • DEFAULT_STORAGE

  • VECTOR_SEARCH

  • LAKEHOUSE_MONITORING

  • PREDICTIVE_OPTIMIZATION

  • ONLINE_TABLES

  • FOUNDATION_MODEL_TRAINING

  • APPS: koszty związane z kompilowaniem i uruchamianiem usługi Databricks Apps

Odniesienie do cech produktu

product_features column jest obiektem zawierającym informacje o określonych używanych funkcjach produktu i zawiera następujące pary klucz/wartość:

  • jobs_tier: values obejmują LIGHT, CLASSIClub null
  • sql_tier: values obejmują CLASSIC, PROlub null
  • dlt_tier: values obejmują CORE, PRO, ADVANCEDlub null
  • is_serverless: values obejmują true, falselub null
  • is_photon: values obejmują true, falselub null
  • serving_type: values obejmują MODEL, GPU_MODEL, FOUNDATION_MODEL, FEATURElub null

Przykładowe zapytania

Ten artykuł zawiera następujące przykładowe zapytania:

Jaki jest dzienny trend użycia jednostek 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

Ile jednostek DBU każdego produktu było używanych w tym miesiącu?

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

Które zadania zużywały najwięcej jednostek 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

Ile użycia można przypisać zasobom za pomocą określonego tagu?

Koszty można podzielić na różne sposoby. W tym przykładzie pokazano, jak podzielić koszty według tagu niestandardowego. Wprowadź klucz i wartość tagu niestandardowego w zapytaniu parameters.

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

Pokaż mi, że rośnie użycie produktów where

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

Jaki jest trend użycia usługi 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

Jakie jest użycie jednostek DBU zmaterializowanego widoku lub tableprzesyłania strumieniowego?

Aby get użycia jednostek DBU i jednostki SKU dla określonego zmaterializowanego widoku lub tableprzesyłania strumieniowego, prześlij zapytanie do systemu rozliczanego użycia table dla rekordów, whereusage_metadata.dlt_pipeline_id jest set do identyfikatora potoku skojarzonego z zmaterializowanym widokiem lub tableprzesyłania strumieniowego. Identyfikator potoku można znaleźć na karcie szczegóły w Eksploratorze Catalog podczas wyświetlania zmaterializowanego widoku lub tableprzesyłania strumieniowego.

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

Jakie jest użycie jednostek DBU potoku DLT bezserwerowego?

Aby get użycia DBU i SKU dla bezserwerowego potoku DLT, prześlij zapytanie do systemu użycia do rozliczeń table dla rekordów, whereusage_metadata.dlt_pipeline_id jest set do identyfikatora potoku. Identyfikator potoku można znaleźć na karcie Szczegóły potoku podczas wyświetlania potoku w interfejsie użytkownika usługi Delta Live Tables. Aby opcjonalnie limit zużycie według daty, określ datę rozpoczęcia, datę zakończenia lub zakres dat.

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