Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Tato systémová tabulka je ve verzi Public Preview.
Tato stránka vysvětluje, jak pomocí systémové tabulky pracovních prostorů monitorovat pracovní prostory ve vašem účtu Azure Databricks. Každý řádek v tabulce představuje nejnovější známý stav aktivního pracovního prostoru ve vašem účtu, včetně metadat a stavu životního cyklu.
Tato tabulka je nejužitečnější při spojení s jinými systémovými tabulkami. Můžete ho použít k získání agregovaných statistik o spolehlivosti, výkonu a nákladech napříč pracovními prostory ve vašem účtu.
Poznámka:
Tabulka obsahuje jenom pracovní prostory, které jsou aktuálně ve vašem účtu. Po zrušení pracovního prostoru se jeho řádek odebere ze systémové tabulky pracovních prostorů.
Cesta k tabulce: Tato tabulka se nachází na adrese . system.access.workspaces_latest
Schéma tabulky pracovních prostorů
| Název sloupce | Datový typ | Popis | Příklad |
|---|---|---|---|
account_id |
řetězec | ID účtu Databricks | 0722779a-fd4e-49c1-a7a6-8417a97cf9ea |
workspace_id |
řetězec | ID pracovního prostoru Databricks | '2274721051152826' |
workspace_name |
řetězec | Název pracovního prostoru čitelný pro člověka | těsto -re-mi |
workspace_url |
řetězec | Adresa URL pracovního prostoru | https://dough-re-mi-pizza.cloud.databricks.com/ |
create_time |
časové razítko | Časové razítko vytvoření pracovního prostoru (přesností na sekundy) | 2025-03-05 15:47 |
status |
výčet | Stav pracovního prostoru. Při vytváření pracovního prostoru je zpočátku nastavená na PROVISIONING hodnotu. Pokračujte ve kontrole stavu, dokud stav není RUNNING. |
NOT_PROVISIONED, PROVISIONING, RUNNING, , FAILEDBANNED |
Vzorové dotazy
Následující části obsahují ukázkové dotazy SQL využívající systémovou tabulku pracovních prostorů.
- Které pracovní prostory jsou aktuálně spuštěné?
- Které pracovní prostory mají nejvyšší útratu?
- Které úlohy v rámci mého účtu jsou nejdražší?
Které pracovní prostory jsou aktuálně spuštěné?
Následující dotaz zobrazuje všechny pracovní prostory, které jsou aktuálně v RUNNING stavu ve vašem účtu.
SELECT
workspace_id,
workspace_name,
workspace_url,
create_time
FROM
system.access.workspaces_latest
WHERE
status = "RUNNING";
Které pracovní prostory mají nejvyšší útratu?
Tento dotaz vypočítá prvních 10 pracovních prostorů ve vašem účtu útratou za posledních 30 dnů.
WITH
-- apply date filter
usage_with_ws_filtered_by_date AS (
SELECT
w.workspace_id,
w.workspace_name,
w.workspace_url,
u.usage_quantity,
u.usage_unit,
u.sku_name,
u.usage_end_time,
u.cloud
FROM
system.billing.usage AS u NATURAL JOIN system.access.workspaces_latest AS w
WHERE
u.usage_date > DATE_ADD(CURRENT_DATE(), -30)
),
-- calc list priced usage in USD
prices AS (
SELECT
COALESCE(price_end_time, DATE_ADD(current_date, 1)) AS coalesced_price_end_time,
*
FROM
system.billing.list_prices
WHERE
currency_code = 'USD'
),
list_priced_usd AS (
SELECT
COALESCE(u.usage_quantity * p.pricing.default, 0) as usage_usd,
u.*
FROM
usage_with_ws_filtered_by_date as u
LEFT JOIN prices AS p
ON u.sku_name = p.sku_name
AND u.cloud = p.cloud
AND u.usage_unit = p.usage_unit
AND (u.usage_end_time BETWEEN p.price_start_time AND p.coalesced_price_end_time)
)
-- calc total usage in USD
SELECT
workspace_id,
workspace_name,
workspace_url,
round(sum(usage_usd), 2) AS usage_usd
FROM
list_priced_usd
GROUP BY
1,
2,
3
ORDER BY
4 DESC
limit 10;
Které úlohy v rámci mého účtu jsou nejdražší?
Tento dotaz vypočítá 10 nejnákladnějších úloh ve vašem účtu za posledních 30 dnů.
with usage_with_cost AS (
SELECT
*,
t1.usage_quantity * list_prices.pricing.default as list_cost
FROM system.billing.usage t1
INNER JOIN system.billing.list_prices list_prices on
t1.cloud = list_prices.cloud and
t1.sku_name = list_prices.sku_name and
t1.usage_start_time >= list_prices.price_start_time and
(t1.usage_end_time <= list_prices.price_end_time or list_prices.price_end_time is null)
),
most_expensive_jobs_30d AS (
SELECT
workspace_id,
usage_metadata.job_id,
SUM(list_cost) as list_cost
FROM usage_with_cost
WHERE
usage_metadata.job_id IS NOT NULL
AND usage_date >= CURRENT_DATE() - INTERVAL 30 DAYS
GROUP BY ALL
ORDER BY list_cost DESC
LIMIT 100
),
latest_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
t1.workspace_id,
t2.workspace_name,
t3.name as job_name,
CONCAT(
t2.workspace_url, '/jobs/', t1.job_id
) as job_url,
t1.list_cost
FROM most_expensive_jobs_30d t1
LEFT JOIN system.access.workspaces_latest t2 using (workspace_id)
LEFT JOIN latest_jobs t3 USING (workspace_id, job_id)
ORDER BY list_cost DESC
LIMIT 10;