Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
Esta tabla del sistema está en versión preliminar pública.
En esta página se explica cómo usar la tabla del sistema de áreas de trabajo para supervisar áreas de trabajo en la cuenta de Azure Databricks. Cada fila de la tabla representa el estado conocido más reciente de un área de trabajo activa en la cuenta, incluidos los metadatos y el estado del ciclo de vida.
Esta tabla es más útil cuando se combina con otras tablas del sistema. Puede usarlo para obtener estadísticas agregadas sobre confiabilidad, rendimiento y costo en las áreas de trabajo de su cuenta.
Nota:
La tabla solo incluye áreas de trabajo actualmente en tu cuenta. Después de cancelar un área de trabajo, se quita su fila de la tabla del sistema de áreas de trabajo.
Ruta de acceso de tabla: esta tabla se encuentra en system.access.workspaces_latest
Esquema de tabla de áreas de trabajo
| Nombre de la columna | Tipo de dato | Descripción | Ejemplo |
|---|---|---|---|
account_id |
cuerda / cadena | Identificador de la cuenta de Databricks | 0722779a-fd4e-49c1-a7a6-8417a97cf9ea |
workspace_id |
cuerda / cadena | Identificador del área de trabajo de Databricks | '2274721051152826' |
workspace_name |
cuerda / cadena | Nombre legible del área de trabajo | masa-re-mi |
workspace_url |
cuerda / cadena | Dirección URL del área de trabajo | https://dough-re-mi-pizza.cloud.databricks.com/ |
create_time |
marca de tiempo | Marca de tiempo de cuándo se creó el área de trabajo (segunda precisión) | 2025-03-05 15:47 |
status |
enumeración | Estado del área de trabajo. Para la creación del área de trabajo, inicialmente se establece en PROVISIONING. Continúe comprobando el estado hasta que el estado sea RUNNING. |
NOT_PROVISIONED, PROVISIONING, RUNNING, , FAILED, BANNED |
Consultas de ejemplo
En las secciones siguientes se incluyen consultas SQL de ejemplo mediante la tabla del sistema de áreas de trabajo.
- ¿Qué áreas de trabajo se están ejecutando actualmente?
- ¿Qué áreas de trabajo tienen el gasto más alto?
- ¿Qué trabajos en mi cuenta son los más caros?
¿Qué áreas de trabajo se están ejecutando actualmente?
La consulta siguiente muestra todos los espacios de trabajo que actualmente se encuentran en el estado RUNNING en su cuenta.
SELECT
workspace_id,
workspace_name,
workspace_url,
create_time
FROM
system.access.workspaces_latest
WHERE
status = "RUNNING";
¿Qué áreas de trabajo tienen el gasto más alto?
Esta consulta calcula las 10 áreas de trabajo principales de la cuenta por gasto en los últimos 30 días.
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;
¿Qué trabajos en mi cuenta son los más caros?
Esta consulta calcula los 10 trabajos más caros en su cuenta en los últimos 30 días.
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;