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 , AZURE i 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_BYTES STORAGE_SPACE , API_OPERATION , , TOKEN lub 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 interfejsu użytkownika dostrajania modelu podstawowego 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. |
Dostrajanie modelu podstawowego | 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 rekordemORIGINAL
z wyjątkiemusage_quantity
wartości ujemnej, która anuluje oryginalną ilość użycia. Jeśli na przykład ilość użycia oryginalnego rekordu to259.4356
, rekord wycofywania będzie miał ilość-259.4356
uż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
DEFAULT_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
, lubCLASSIC
null
sql_tier
: wartości obejmująCLASSIC
, lubPRO
null
dlt_tier
: wartości obejmująCORE
, ,ADVANCED
PRO
lubnull
is_serverless
: wartości obejmujątrue
lub lubfalse
null
is_photon
: wartości obejmujątrue
lub lubfalse
null
serving_type
: wartości obejmująMODEL
, ,FOUNDATION_MODEL
GPU_MODEL
,FEATURE
lubnull
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??
- Ile jednostek DBU każdego produktu było używanych w tym miesiącu?
- Które zadania zużywały najwięcej jednostek DBU??
- Ile użycia można przypisać zasobom za pomocą określonego tagu?
- Pokaż jednostki SKU, w których rośnie użycie
- Jaki jest trend użycia usługi All Purpose Compute (Photon)??
- Jakie jest zużycie jednostek DBU zmaterializowanego widoku lub tabeli przesyłania strumieniowego?
- Jakie jest użycie jednostek DBU potoku DLT bezserwerowego?
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