Költségek monitorozása rendszertáblák használatával
Ez a cikk azt ismerteti, hogyan használhatja a system.billing.usage
táblát önállóan vagy más rendszertáblákkal összekapcsolva, hogy képet kapjon a fiók Azure Databricks-használatáról. A következő funkcióspecifikus cikkek is elérhetők:
- Kiszolgáló nélküli számítási költségek monitorozása
- Feladatok költségeinek és teljesítményének monitorozása
- A modellek kiszolgálási költségeinek monitorozása
A használati táblázat olvasása
A rendszertáblák adatainak elérésére jogosult felhasználók megtekinthetik és lekérdezhetik a fiókjuk számlázási naplóit a system.billing.usage
. Minden számlázási rekord olyan oszlopokat tartalmaz, amelyek a használati összeget az adott erőforrásokhoz, identitásokhoz és termékekhez rendelik.
- A
usage_metadata
oszlop tartalmaz egy szerkezetet, amely a használatban részt vevő erőforrásokra vagy objektumokra vonatkozó információkat tartalmaz. - A
identity_metadata
oszlop a használatban lévő felhasználóval vagy szolgáltatásnévvel kapcsolatos információkat tartalmazza. - A
custom_tags
oszlop a használathoz társított számítási erőforrásra alkalmazott címkéket tartalmazza. Ide tartoznak a költségvetési szabályzatok által hozzáadott címkék is, hogy kiszolgáló nélküli használatot rendelhessenek hozzá. - A
billing_origin_product
és aproduct_features
oszlop információkat ad a használt termékről és funkciókról.
A használati tábla teljes referenciáját a Számlázható használati rendszer tábla referenciájacímű témakörben talál.
Számlázási adatok üzemeltetése
A Databricks AI/BI-irányítópultok használatát javasolja a költségfigyelési irányítópultok rendszertábla számlázási adatainak használatával történő létrehozásához. Létrehozhat egy új irányítópultot, vagy a fiókadminisztrátorok importálhatnak előre összeállított, testreszabható költségfigyelési irányítópultot. Lásd a használati irányítópultokat .
A lekérdezésekhez riasztásokat is hozzáadhat, amelyek segítenek tájékozódni a használati adatokról. Lásd: Riasztás létrehozása.
Minta lekérdezések
Az alábbi lekérdezések példákat nyújtanak arra, hogyan használhatja a system.billing.usage
táblaadatokat a fiók használati adatainak elemzéséhez.
- Hány dbU-t használtak az egyes termékekből ebben a hónapban?
- Mely feladatok használták fel a legtöbb DBU-t?
- Mennyi használat rendelhető hozzá egy adott címkével rendelkező erőforrásokhoz?
- Mutasd meg azokat a termékeket, ahol a használat növekszik
- Mi a minden célú számítás (Photon) használati trendje?
- Mi a materializált nézet vagy streaming tábla DBU-felhasználása?
- Mi a kiszolgáló nélküli DLT-folyamatok DBU-felhasználása?
- Mi a DBU-használat napi trendje?
Hány dbU-t használtak az egyes termékekből ebben a hónapban?
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
Mely feladatok használták fel a legtöbb DBU-t?
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
`Usage` DESC
Mennyi használat rendelhető hozzá egy adott címkével rendelkező erőforrásokhoz?
A költségeket különböző módokon bonthatja le. Ez a példa bemutatja, hogyan bonthatja fel a költségeket egyéni címkék szerint. Mindenképpen cserélje le az egyéni címke kulcsát és értékét a lekérdezésben.
SELECT
sku_name, usage_unit, SUM(usage_quantity) as `Usage`
FROM
system.billing.usage
WHERE
custom_tags [:key] = :value
GROUP BY 1, 2
Mutasd meg azokat a termékeket, ahol a használat növekszik
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 "2024-04-01" and "2024-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
"2024-05-01" and "2024-05-30"
GROUP BY
billing_origin_product
) as after
WHERE
before.billing_origin_product = after.billing_origin_product
SORT BY
growth_rate DESC
Mi a minden célú számítás (Photon) használati trendje?
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 > "2024-04-15"
GROUP BY
sku_name, usage_date
Mi a materializált nézet vagy a folyamatos adatfolyamot kezelő tábla DBU-felhasználása?
Ha egy adott materializált nézethez vagy streamelési táblához szeretné lekérni a DBU-használatot és termékváltozatot, küldjön egy lekérdezést a számlázható használati rendszer táblájához olyan rekordokhoz, ahol usage_metadata.dlt_pipeline_id
a materializált nézethez vagy streamelési táblához társított folyamat azonosítójára van beállítva. A folyamatazonosítót a Katalóguskezelő Részletek lapján találja, amikor megtekinti a materializált nézetet vagy a streamelési táblát. A felhasználás dátum szerinti korlátozásához adjon meg egy kezdő dátumot, egy záró dátumot vagy egy dátumtartományt. A következő lekérdezés lekéri a folyamat DBU-használatát 00732f83-cd59-4c76-ac0d-57958532ab5b
azonosítóval és a 2024-05-30
használatának kezdő dátumával:
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
Mi a kiszolgáló nélküli DLT-folyamatok DBU-felhasználása?
A kiszolgáló nélküli DLT-folyamatok DBU-használatának és termékváltozatának lekéréséhez küldjön egy lekérdezést a számlázható használati rendszer táblájához olyan rekordokhoz, ahol a usage_metadata.dlt_pipeline_id
a folyamat azonosítójára van állítva. A folyamatazonosítót a Folyamat részletei lapon találja, amikor megtekint egy folyamatot a DLT felhasználói felületén. A felhasználás dátum szerinti korlátozásához adjon meg egy kezdő dátumot, egy záró dátumot vagy egy dátumtartományt. Az alábbi lekérdezés lekéri a 2024 decemberi DBU használatot a 00732f83-cd59-4c76-ac0d-57958532ab5b
azonosítójú csővezetékhez.
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
Mi a DBU-használat napi trendje?
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
Példák táblakapcsolatok használatára
Az alábbi példák azt mutatják be, hogyan csatlakozhat a használati táblához más rendszertáblákkal, hogy további megállapításokat nyerjen.
- Költségek hozzárendelése a számítási erőforrás tulajdonosához
- A használat bővítése feladatnévvel
- A díjszabás összekapcsolása a használati táblázatokkal
- Az előző naptári hónap használati költségeinek becslése
A költségeket a számítástechnikai tulajdonosnak terhelje
Ha csökkenteni szeretné a számítási költségeket, ezzel a lekérdezéssel megállapíthatja, hogy a fiókban mely fürttulajdonosok használják a legtöbb DBU-t.
SELECT
u.record_id record_id,
c.cluster_id cluster_id,
max_by(c.owned_by, c.change_time) owned_by,
max(c.change_time) change_time,
any_value(u.usage_start_time) usage_start_time,
any_value(u.usage_quantity) usage_quantity
FROM
system.billing.usage u
JOIN system.compute.clusters c
WHERE
u.usage_metadata.cluster_id is not null
and u.usage_start_time >= '2023-01-01'
and u.usage_metadata.cluster_id = c.cluster_id
and c.change_time <= u.usage_start_time
GROUP BY 1, 2
ORDER BY cluster_id, usage_start_time desc;
Használat bővítése feladatnévvel
with jobs as (
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY workspace_id, job_id ORDER BY change_time DESC) as rn
FROM system.lakeflow.jobs QUALIFY rn=1
)
SELECT
usage.*,
coalesce(usage_metadata.job_name, jobs.name) as job_name
FROM system.billing.usage
LEFT JOIN jobs ON usage.workspace_id=jobs.workspace_id AND usage.usage_metadata.job_id=jobs.job_id
WHERE
billing_origin_product="JOBS"
Az árképzés összekapcsolása a használati táblákkal
A list_prices
táblázat tartalmazza az egyes elérhető termékváltozatok listaárainak időbeli listáját. A usage
táblához csatlakozva megtekintheti az egyes használatok listaköltségét.
Az alábbi lekérdezés például egy adott címkéhez rendelt teljes költséget adja vissza egy hónap alatt:
SELECT
SUM(usage.usage_quantity * list_prices.pricing.effective_list.default)
as `Total Dollar Cost`
FROM system.billing.usage
JOIN system.billing.list_prices ON list_prices.sku_name = usage.sku_name
WHERE usage.custom_tags [:key] = :value
AND usage.usage_end_time >= list_prices.price_start_time
AND (list_prices.price_end_time IS NULL OR usage.usage_end_time < list_prices.price_end_time)
AND usage.usage_date BETWEEN "2024-05-01" AND "2024-05-31"
Az előző naptári hónap használati költségeinek becslése
Ez a lekérdezés egyszerű százalékarányt alkalmaz az időszak összes használatára. Vegye figyelembe, hogy ez némileg eltérhet a tényleges bevételszerzéstől, mivel egyes bővítmények jogosultságait hogyan kezeli a rendszer. Cserélje le a kiegészítő díjszabását a fiókodéval.
SELECT SUM(usage.usage_quantity * list_prices.pricing.effective_list.default) * :add_on_rate as `Total Add-On Dollar Cost`
FROM system.billing.usage
JOIN system.billing.list_prices ON list_prices.sku_name = usage.sku_name
WHERE usage.usage_end_time >= list_prices.price_start_time
AND (list_prices.price_end_time IS NULL OR usage.usage_end_time < list_prices.price_end_time)
AND usage.usage_date BETWEEN "2024-02-01" AND "2024-02-29"