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.
En este artículo se explica cómo puede utilizar la system.billing.usage tabla por sí sola o combinarla con otras tablas del sistema para obtener una visión general del uso de Azure Databricks en su cuenta. También están disponibles los siguientes artículos específicos de las funciones:
- Supervisar los costos de proceso sin servidor
- Monitorizar los costos de trabajo y el rendimiento
- Supervisar costes de servicio del modelo
Cómo leer la tabla de uso
Los usuarios con permisos para acceder a los datos de la tabla del sistema pueden ver y consultar los registros de facturación de su cuenta, ubicados en system.billing.usage. Cada registro de facturación incluye columnas que atribuyen la cantidad de uso a los recursos, identidades y productos específicos implicados.
- La columna
usage_metadataincluye una estructura con información sobre los recursos u objetos implicados en el uso. - La columna
identity_metadataincluye información sobre el usuario o la entidad de servicio que incurrió en el uso. - La columna
custom_tagsincluye etiquetas aplicadas al recurso de proceso asociado al uso. Esto también incluye etiquetas agregadas por políticas de presupuesto sin servidor para que pueda atribuir el uso de recursos sin servidor. - Las columnas
billing_origin_productyproduct_featuresproporcionan información sobre el producto exacto y las características usadas.
Para obtener una referencia completa de la tabla de uso, consulte Referencia de tabla del sistema de uso facturable.
Operacionalización de los datos de facturación
Databricks recomienda usar paneles de IA o BI para crear paneles de supervisión de costes mediante datos de facturación de tablas del sistema. Puede crear un nuevo panel o los administradores de cuentas pueden importar un panel de supervisión de costos personalizable pregenerado. Consulte Paneles de utilización.
También puede agregar alertas a las consultas para ayudarle a mantenerse informado sobre los datos de uso. Consulte Creación de una alerta.
Consultas de ejemplo
Las consultas siguientes proporcionan ejemplos de cómo puede usar los system.billing.usage datos de tabla para obtener información sobre el uso de la cuenta.
- ¿Cuántas DTU de cada producto se han usado a lo largo de este mes?
- ¿Qué trabajos consumieron la mayoría de las DTU?
- ¿Cuánto uso se puede atribuir a los recursos con una etiqueta específica?
- Mostrar los productos en los que el uso está creciendo
- ¿Cuál es la tendencia de uso de All Purpose Compute (Photon)?
- ¿Cuál es el consumo de DBU de una vista materializada o una tabla de streaming?
- ¿Cuál es el consumo de DBU de una canalización sin servidor?
- ¿Cuál es la tendencia diaria en el consumo de DBU?
- Atribuir costos al propietario del recurso computacional
- Enriquecer el uso con un nombre de trabajo
- Asociar los precios con las tablas de uso
- Calcular los costos adicionales para el uso en el mes natural anterior
¿Cuántas DTU de cada producto se han usado a lo largo de este mes?
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
¿Qué trabajos consumieron la mayoría de las 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
`Usage` DESC
¿Cuánto uso se puede atribuir a los recursos con una etiqueta específica?
Puede desglosar los costos de varias maneras. En este ejemplo se muestra cómo desglosar los costos por una etiqueta personalizada. Reemplace la clave y el valor de la etiqueta personalizada en la consulta.
SELECT
sku_name, usage_unit, SUM(usage_quantity) as `Usage`
FROM
system.billing.usage
WHERE
custom_tags [:key] = :value
GROUP BY 1, 2
Mostrarme los productos en los que el uso está creciendo
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 "2025-04-01" and "2025-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
"2025-05-01" and "2025-05-30"
GROUP BY
billing_origin_product
) as after
WHERE
before.billing_origin_product = after.billing_origin_product
SORT BY
growth_rate DESC
¿Cuál es la tendencia de uso de 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 > "2025-04-15"
GROUP BY
sku_name, usage_date
¿Cuál es el consumo de DBU de una vista materializada o una tabla de streaming?
Para obtener el uso de DBU y la SKU para una vista materializada específica o una tabla de streaming, envíe una consulta a la tabla del sistema de uso facturable (system.billing.usage). Escriba una marca de tiempo como parámetro para consultar los resultados después de una fecha especificada.
La consulta siguiente recupera el uso de DBU para la vista materializada con el nombre completo (<catalog>.<schema>.<table>) de users.cost_tracking.mv1:
WITH pipeline_id (
SELECT
usage_metadata.dlt_pipeline_id as pipeline_id
FROM
system.billing.usage
WHERE
usage_metadata.uc_table_catalog = 'users'
AND usage_metadata.uc_table_schema = 'cost_tracking'
AND usage_metadata.uc_table_name = 'mv1'
LIMIT 1
)
SELECT
u.sku_name,
u.usage_date,
SUM(u.usage_quantity) AS `DBUs`
FROM
system.billing.usage u JOIN pipeline_id p
WHERE
u.usage_metadata.dlt_pipeline_id = p.pipeline_id
AND u.usage_start_time > :usage_start_time
GROUP BY
ALL
¿Cuál es el consumo de DBU de una canalización sin servidor?
Para obtener el uso de DBU y la SKU de una canalización sin servidor, envíe una consulta a la tabla del sistema de uso facturable para los registros donde usage_metadata.dlt_pipeline_id se establece en el identificador de la canalización. Puede encontrar el identificador de canalización en la pestaña Detalles de la canalización al ver una canalización en la interfaz de usuario de Canalizaciones declarativas de Spark de Lakeflow. Para limitar el consumo por fecha, especifique una fecha de inicio, una fecha de finalización o un intervalo de fechas. La consulta siguiente recupera el uso de DBU de diciembre de 2024 para la canalización con el id. 00732f83-cd59-4c76-ac0d-57958532ab5b.
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
¿Cuál es la tendencia diaria en el consumo de 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
Atribuir costos al propietario del recurso de computación
Si desea reducir los costos de procesamiento, puede unir la tabla usage con la tabla compute.clusters para averiguar qué propietarios de recursos de procesamiento en su cuenta usan la mayoría de los DBUs.
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 >= '2025-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;
Enriquecer el uso con un nombre de trabajo
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"
Unir los precios con las tablas de uso
La tabla list_prices incluye precios de lista a lo largo del tiempo para cada SKU disponible. Puede acceder a la tabla usage para ver el coste de descripción de ciertos usos.
Por ejemplo, la consulta siguiente devuelve el costo total asignado a una etiqueta determinada durante un mes.
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 "2025-05-01" AND "2025-05-31"
Estimar los costos adicionales para el uso en el mes calendario anterior
Esta consulta aplica un porcentaje simple a todo el uso del período. Tenga en cuenta que esto puede diferir ligeramente de la monetización real debido a cómo se administran los derechos de algunos complementos. Reemplace la tarifa del complemento por la tarifa de su cuenta.
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 "2025-02-01" AND "2025-02-29"