Megosztás a következőn keresztül:


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:

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 a product_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?

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-30haszná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.

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"