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 , AZURE i 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 |
{"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 usage table. |
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 , TOKEN lub 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 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 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_features
columns 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
,CLASSIC
lubnull
-
sql_tier
: values obejmująCLASSIC
,PRO
lubnull
-
dlt_tier
: values obejmująCORE
,PRO
,ADVANCED
lubnull
-
is_serverless
: values obejmujątrue
,false
lubnull
-
is_photon
: values obejmujątrue
,false
lubnull
-
serving_type
: values obejmująMODEL
,GPU_MODEL
,FOUNDATION_MODEL
,FEATURE
lubnull
Przykładowe zapytania
Ten artykuł zawiera następujące przykładowe zapytania:
- 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ż mi, że użycie produktów where rośnie
- Jaki jest trend użycia usługi All Purpose Compute (Photon)??
- Jakie jest użycie jednostek DBU zmaterializowanego widoku lub tableprzesył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. 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