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 usar la tabla de uso facturable del sistema para controlar el costo del uso de computación sin servidor.
Puede supervisar el uso del proceso sin servidor para cuadernos y trabajos consultando la tabla del sistema de uso facturable (system.billing.usage
), que incluye atributos de usuario y carga de trabajo relacionados con los costos de proceso sin servidor. Los campos aplicables incluyen:
- La columna
identity_metadata
incluye el camporun_as
, que muestra el usuario o la entidad de servicio cuyas credenciales se usaron para ejecutar la carga de trabajo. - La columna
usage_metadata
tiene campos que describen la carga de trabajo:job_run_id
,job_name
,notebook_id
, ynotebook_path
.
- La columna
custom_tags
, que incluirá las etiquetas heredadas de las directivas presupuestarias sin servidor. Consulte Uso de atributo con directivas de presupuesto sin servidor.
Características adicionales facturadas como sin servidor
Hay varias características de Azure Databricks que aprovechan el proceso sin servidor en segundo plano, pero no requieren que la cuenta esté habilitada para el proceso sin servidor para cuadernos, flujos de trabajo y canalizaciones declarativas de Lakeflow.
Las siguientes características se facturan en la SKU de trabajos sin servidor:
- Supervisión de Lakehouse: ha iniciado sesión en la tabla de facturación con un valor
billing_origin_product
deLAKEHOUSE_MONITORING
. - Optimización predictiva: ha iniciado sesión en la tabla de facturación con un valor
billing_origin_product
dePREDICTIVE_OPTIMIZATION
. - Vistas materializadas en Databricks SQL: al crear una vista materializada en un almacenamiento de SQL, se crea una canalización sin servidor para procesar las actualizaciones. Puede ver los registros de facturación de la vista materializada consultando los registros donde
billing_origin_product = 'SQL'
yusage_metadata.dlt_pipeline_id IS NOT NULL
. - Control de acceso específico en el proceso dedicado: identificación al tener un valor
billing_origin_product
deFINE_GRAINED_ACCESS_CONTROL
.
- Salas limpias: la sala limpia específica relacionada con el uso se registra en
usage_metadata.central_clean_room_id
.
Consideraciones para los registros de uso sin servidor
Al analizar el uso sin servidor, tenga en cuenta lo siguiente:
- Es posible que vea varios registros asociados a una carga de trabajo de proceso sin servidor determinada en una hora determinada. Por ejemplo, puede ver varios registros con la misma
job_id
,job_run_id
ojob_name
, pero con valores de consumo de DBU diferentes para cada uno. La suma de estas DBU representa colectivamente el consumo de DBU por hora para una ejecución de trabajo determinada.
Uso de presupuestos para supervisar los gastos
Los administradores de cuentas pueden configurar presupuestos para agrupar los costos y configurar alertas. Consulte Creación y supervisión de presupuestos.
Importar un panel de uso
Los administradores de cuentas pueden importar paneles de administración de costos a cualquier área de trabajo habilitada para Unity Catalog en su cuenta. Consulte Importación de un panel de uso.
Búsqueda de un trabajo o cuaderno en la interfaz de usuario
Para buscar un trabajo o cuaderno en la interfaz de usuario en función de un registro de facturación, copie el valor usage_metadata.job_id
o usage_metadata.notebook_id
del registro de uso. Estos identificadores son inmutables y se pueden usar incluso si cambia el nombre del trabajo o la ruta de acceso del cuaderno.
Para buscar un trabajo en la interfaz de usuario en función de su job_id
:
- Copie el
job_id
del registro de uso. En este ejemplo, supongamos que el identificador es700809544510906
. - Vaya a la interfaz de usuario Trabajos & y Pipelines en la misma área de trabajo Azure Databricks en la que se encuentra el trabajo.
- Seleccione el filtro Accesible por mí .
- Pegue el identificador (700809544510906) en la barra de búsqueda Filtrar trabajos.
Para buscar un cuaderno en la interfaz de usuario en función de su notebook_id
, siga estas instrucciones:
- Copie el
notebook_id
del registro de uso. En este ejemplo, supongamos que el identificador es700809544510906
. - Vaya a la interfaz de usuario de Áreas de trabajo en el mismo área de trabajo de Azure Databricks que el cuaderno.
- Haga clic en cualquier cuaderno de la lista.
- Después de abrir el cuaderno, examine la dirección URL en la barra de direcciones del explorador. Debería ser similar a
https://<account-console-url>/?o=<workspace ID>#notebook/<notebook ID>/command/<command ID>
. - En la barra de direcciones del explorador, reemplace el identificador del cuaderno por el identificador que copió en el primer paso y a continuación, elimine todo después del identificador del cuaderno. Debería ser similar a
https://<account-console-url>/?o=<workspace ID>#notebook/700809544510906
. - Después de extraer el cuaderno, puede hacer clic en el botón Compartir para ver el propietario del cuaderno.
Uso de alertas para realizar un seguimiento del gasto sin servidor
Las alertas son una manera eficaz de mantenerse informados sobre el gasto sin servidor. Con las alertas, puede recibir notificaciones cuando se cumplan determinadas condiciones en los resultados de la consulta. Para obtener información sobre cómo crear alertas, consulte Creación de una alerta.
Puede agregar alertas a las siguientes consultas para supervisar los presupuestos. En cada consulta, reemplace {budget}
por el presupuesto elegido.
Alerta cuando cualquier gasto de área de trabajo supera un umbral en los últimos 30 días
Puede establecer una alerta para que se desencadene cada vez que esta consulta devuelva una fila. Reemplace {budget}
por el presupuesto elegido.
SELECT
t1.workspace_id,
SUM(t1.usage_quantity * list_prices.pricing.default) as list_cost
FROM system.billing.usage t1
INNER JOIN system.billing.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)
WHERE
t1.sku_name LIKE '%SERVERLESS%'
AND billing_origin_product IN ("JOBS", "INTERACTIVE")
AND t1.usage_date >= CURRENT_DATE() - INTERVAL 30 DAYS
GROUP BY
t1.workspace_id
HAVING
list_cost > {budget}
Alerta cuando un usuario supera el umbral en los últimos 30 días
Puede establecer una alerta para que se desencadene cada vez que esta consulta devuelva una fila. Reemplace {budget}
por el presupuesto elegido.
SELECT
t1.identity_metadata.run_as,
SUM(t1.usage_quantity * list_prices.pricing.default) as list_cost
FROM system.billing.usage t1
INNER JOIN system.billing.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)
WHERE
t1.sku_name LIKE '%SERVERLESS%'
AND billing_origin_product IN ("JOBS", "INTERACTIVE")
AND t1.usage_date >= CURRENT_DATE() - INTERVAL 30 DAYS
GROUP BY
t1.identity_metadata.run_as
HAVING
list_cost > {budget}
Alerta cuando un trabajo supera el umbral en los últimos 30 días
Puede establecer una alerta para que se desencadene cada vez que esta consulta devuelva una fila. Reemplace {budget}
por el presupuesto elegido.
SELECT
t1.workspace_id,
t1.usage_metadata.job_id,
SUM(t1.usage_quantity * list_prices.pricing.default) as list_cost
FROM system.billing.usage t1
INNER JOIN system.billing.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)
WHERE
t1.sku_name LIKE '%SERVERLESS%'
AND billing_origin_product IN ("JOBS")
AND t1.usage_date >= CURRENT_DATE() - INTERVAL 30 DAYS
GROUP BY
t1.workspace_id, t1.usage_metadata.job_id
HAVING
list_cost > {budget}
Consultas de ejemplo
Use las siguientes consultas para obtener información sobre el uso sin servidor en su cuenta:
- Ordenar cuadernos sin servidor según el gasto total
- Ordenar trabajos sin servidor en función del gasto total
- Informe sobre los DBU consumidos por un usuario determinado
- Informe de las DBU de proceso sin servidor consumidas por cargas de trabajo que comparten una etiqueta personalizada
Ordenar cuadernos sin servidor en función del gasto total
Esta consulta devuelve una lista de cuadernos y cuántas DBU consume cada cuaderno, en orden descendente por consumo de DBU:
SELECT
usage_metadata.notebook_id,
usage_metadata. notebook_path,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
usage_metadata.notebook_id is not null
and billing_origin_product = 'INTERACTIVE'
and product_features.is_serverless
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
GROUP BY
1,2
ORDER BY
total_dbu DESC
Ordenar trabajos sin servidor en función del gasto total
Esta consulta devuelve una lista de trabajos y el número de DBU que consume cada trabajo, en orden descendente por consumo de DBU:
SELECT
usage_metadata.job_id,
usage_metadata.job_name,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
usage_metadata.job_id is not null
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
and sku_name like '%JOBS_SERVERLESS_COMPUTE%'
GROUP BY
1,2
ORDER BY
total_dbu DESC
Informe sobre las DTU consumidas por un usuario determinado
Esta consulta devuelve una lista de cuadernos y trabajos que usan un proceso sin servidor ejecutado por un usuario o entidad de servicio determinado y el número de DTU consumidas por cada carga de trabajo:
SELECT
usage_metadata.job_id,
usage_metadata.job_name,
usage_metadata.notebook_id,
usage_metadata. notebook_path,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
identity_metadata.run_as = '<emailaddress@domain.com>'
and billing_origin_product in ('JOBS','INTERACTIVE')
and product_features.is_serverless
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
GROUP BY
1,2,3,4
ORDER BY
total_dbu DESC
Informe de las DTU de proceso sin servidor consumidas por cargas de trabajo que comparten una etiqueta personalizada
Esta consulta devuelve una lista de trabajos que usan un proceso sin servidor que comparten la misma etiqueta personalizada y el número de DTU consumidas por cada carga de trabajo:
SELECT
usage_metadata.job_id,
usage_metadata.job_name,
usage_metadata.notebook_id,
usage_metadata. notebook_path,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
custom_tags.<key> = '<value>'
and billing_origin_product in ('JOBS','INTERACTIVE')
and product_features.is_serverless
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
GROUP BY
1,2,3,4
ORDER BY
total_dbu DESC