Udostępnij za pośrednictwem


Rozliczana tabela systemu użycia

Ten artykuł zawiera omówienie tabeli systemu użycia rozliczanego, w tym schematu i przykładowych zapytań. W przypadku tabel systemowych rozliczane dane użycia konta są scentralizowane i kierowane do wszystkich regionów, dzięki czemu można wyświetlić globalne użycie konta z niezależnie od regionu, w którym znajduje się obszar roboczy.

Aby uzyskać informacje na temat używania tej tabeli do monitorowania kosztów zadań, zobacz Monitorowanie kosztów zadań za pomocą tabel systemowych.

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

Ścieżka tabeli: ta tabela systemowa znajduje się w lokalizacji system.billing.usage.

Schemat tabeli użycia rozliczanego

Tabela systemu użycia rozliczanego używa następującego schematu:

Nazwa kolumny Typ danych opis Przykład
record_id string Unikatowy identyfikator dla tego rekordu 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 wartości to AWS, AZUREi GCP. AWS, AZURE lub GCP
usage_start_time timestamp Godzina rozpoczęcia istotna dla tego rekordu użycia. Informacje o strefie czasowej są rejestrowane na końcu wartości reprezentującej +00:00 strefę czasową UTC. 2023-01-09 10:00:00.000+00:00
usage_end_time timestamp Godzina zakończenia istotna dla tego rekordu użycia. Informacje o strefie czasowej są rejestrowane na końcu wartości reprezentującej +00:00 strefę czasową UTC. 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 wartości 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 Analizowanie 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 Analizowanie metadanych tożsamości. {run_as: example@email.com}
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 Analizowanie rekordów poprawek. ORIGINAL
ingestion_date data Data pozyskiwania rekordu do usage tabeli. 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ć możliwe wartości, zobacz Wyświetlanie informacji o produkcie skojarzonym z użyciem. JOBS
product_features struktura Szczegółowe informacje o używanych funkcjach produktu. Aby uzyskać możliwe wartości, zobacz Funkcje produktu.
usage_type string Typ użycia przypisany do produktu lub obciążenia na potrzeby rozliczeń. Możliwe wartości to COMPUTE_TIME, , NETWORK_BYTESSTORAGE_SPACE, API_CALLS, , TOKENlub GPU_TIME. STORAGE_SPACE

Analizowanie metadanych użycia

Wartości w programie usage_metadata informują o zasobach zaangażowanych w rekord 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 Delta Live Tables skojarzonego z rekordem użycia
dlt_update_id string Identyfikator aktualizacji potoku delta Live Tables skojarzonego z rekordem użycia
dlt_maintenance_id string Identyfikator zadań konserwacji potoku delta Live Tables skojarzonych z rekordem użycia
run_name string Unikatowy identyfikator użytkownika przebiegu dostrajania trenowania modelu mozaiki sztucznej inteligencji skojarzony 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

Analizowanie metadanych tożsamości

Kolumna identity_metadata może pomóc określić, kto jest odpowiedzialny za bezserwerowy rekord rozliczeniowy. Kolumna zawiera run_as wartość, która przypisuje użycie tożsamości. Tożsamość zarejestrowana w pliku identity_metadata.run_as zależy od produktu skojarzonego z użyciem.

Aby uzyskać informacje o zachowaniu, należy odwołać się do poniższej identity_metadata.run_as tabeli:

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 tabel na żywo usługi Delta Użytkownik, którego uprawnienia są używane do uruchamiania potoku Delta Live Tables. Można to zmienić, przenosząc własność potoku.
Trenowanie modelu mozaiki sztucznej inteligencji Użytkownik lub jednostka usługi, która zainicjowała przebieg trenowania dostrajania.

Analizowanie rekordów poprawek

Tabela billing.usage 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 do tabeli dwa nowe rekordy. 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 wycofywania neguje oryginalny rekord i zwracane są tylko wartości restatementu.

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, w których oryginalny rekord użycia nie powinien być zapisywany, korekta może tylko dodać rekord wycofywania i bez rekordu zmiany.

Wyświetlanie informacji o produkcie skojarzonym z użyciem

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 kolumny i product_features zapewniają lepszy wgląd w konkretny produkt i funkcje skojarzone z użyciem.

Kolumna billing_origin_product zawiera produkt usługi Databricks skojarzony z rekordem użycia. Wartości obejmują:

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

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

  • jobs_tier: wartości obejmują LIGHT, lub CLASSICnull
  • sql_tier: wartości obejmują CLASSIC, lub PROnull
  • dlt_tier: wartości obejmują CORE, , ADVANCEDPROlubnull
  • is_serverless: wartości obejmują true lub lub falsenull
  • is_photon: wartości obejmują true lub lub falsenull
  • serving_type: wartości obejmują MODEL, , FOUNDATION_MODELGPU_MODEL, FEATURElubnull

Przykładowe zapytania

Możesz użyć następujących przykładowych zapytań, aby odpowiedzieć na typowe pytania dotyczące rozliczanego użycia:

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. Pamiętaj, aby zastąpić klucz i wartość tagu niestandardowego w zapytaniu.

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

Pokaż mi produkty, w których rośnie użycie

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 tabeli przesyłania strumieniowego?

Aby uzyskać dane użycia jednostek DBU i jednostki SKU dla określonego zmaterializowanego widoku lub tabeli przesyłania strumieniowego, prześlij zapytanie do tabeli systemu użycia rozliczanego dla rekordów, w których usage_metadata.dlt_pipeline_id ustawiono identyfikator potoku skojarzonego z zmaterializowanym widokiem lub tabelą przesyłania strumieniowego. Identyfikator potoku można znaleźć na karcie Szczegóły w Eksploratorze wykazu podczas wyświetlania zmaterializowanego widoku lub tabeli przesyłania strumieniowego. Aby opcjonalnie ograniczyć zużycie według daty, określ datę rozpoczęcia, datę zakończenia lub zakres dat. Następujące zapytanie pobiera użycie jednostek DBU dla potoku z identyfikatorem 00732f83-cd59-4c76-ac0d-57958532ab5b i datą rozpoczęcia użycia :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

Jakie jest użycie jednostek DBU potoku DLT bezserwerowego?

Aby uzyskać użycie jednostek DBU i jednostkę SKU dla bezserwerowego potoku DLT, prześlij zapytanie do tabeli systemu użycia rozliczanego dla rekordów, w których usage_metadata.dlt_pipeline_id ustawiono identyfikator potoku. Identyfikator potoku można znaleźć na karcie Szczegóły potoku podczas wyświetlania potoku w interfejsie użytkownika tabel na żywo delty. Aby opcjonalnie ograniczyć zużycie według daty, określ datę rozpoczęcia, datę zakończenia lub zakres dat. Następujące zapytanie pobiera użycie jednostek DBU z grudnia 2023 r. dla potoku o identyfikatorze 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