Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Esse artigo explica como usar a tabela do sistema de uso faturável para monitorar o custo do uso de computação sem servidor.
Você pode monitorar o uso de computação sem servidor para notebooks e trabalhos consultando a tabela do sistema de uso faturável (system.billing.usage), que inclui atributos de usuário e carga de trabalho relacionados aos custos de computação sem servidor. Os campos aplicáveis incluem:
- A coluna
identity_metadatainclui o camporun_as, que mostra o usuário ou a entidade de serviço cujas credenciais foram usadas para executar a carga de trabalho. - A coluna
usage_metadatatem campos que descrevem a carga de trabalho:job_run_id,job_name,notebook_idenotebook_path.
- A
custom_tagscoluna, que incluirá todas as tags herdadas de políticas orçamentárias sem servidor. Consulte o uso de atributos com políticas de orçamento sem servidor.
Observação
Devido à nossa arquitetura distribuída, você pode ver vários registros associados a uma determinada carga de trabalho de computação sem servidor em um determinado período de tempo. Por exemplo, você pode ver vários registros com o mesmo job_id, job_run_idou job_name com valores de consumo de DBU diferentes para cada um. A soma dessas DBUs representa o consumo horáriode DBU para a execução de uma tarefa específica nesse período.
Recursos adicionais cobrados como sem servidor
Há vários recursos do Azure Databricks que aproveitam a computação sem servidor em segundo plano, mas não exigem que sua conta seja habilitada para computação sem servidor para notebooks, fluxos de trabalho e Pipelines Declarativos do Lakeflow Spark.
Os seguintes recursos são cobrados no SKU de trabalhos sem servidor:
-
Monitoramento de qualidade de dados: registrado na tabela de cobrança com um valor igual a
billing_origin_product. -
Otimização Preditiva: Registrado na tabela de faturamento com um
billing_origin_productvalor dePREDICTIVE_OPTIMIZATION. -
Exibições materializadas no Databricks SQL: quando você cria uma exibição materializada em um SQL Warehouse, um pipeline sem servidor é criado para processar atualizações. Você pode visualizar registros de faturamento para visão materializada consultando os registros que atendem aos critérios
billing_origin_product = 'SQL'eusage_metadata.dlt_pipeline_id IS NOT NULL. -
Controle de acesso refinado em computação dedicada: identificável por ter um
billing_origin_productvalor deFINE_GRAINED_ACCESS_CONTROL.
-
Salas limpas: a sala limpa específica relacionada ao uso é registrada em
usage_metadata.central_clean_room_id.
Usar orçamentos para monitorar os gastos
Os administradores de conta podem configurar orçamentos para agrupar custos e configurar alertas. Veja Crie e monitore orçamentos.
Importar um painel de uso
Os administradores de conta podem importar painéis de gerenciamento de custos para qualquer espaço de trabalho habilitado para o Catálogo do Unity em sua conta. Confira Importar um painel de uso.
Localizar um trabalho ou notebook na interface do usuário
Para localizar um trabalho ou notebook na interface do usuário com base em um registro de cobrança, copie o valor usage_metadata.job_id ou usage_metadata.notebook_id do registro de uso. Essas IDs são imutáveis e podem ser usadas mesmo se o nome do trabalho ou o caminho do notebook for alterado.
Para encontrar um trabalho na interface do usuário com base em job_id:
- Copie
job_iddo registro de uso. Para este exemplo, suponha que a ID seja700809544510906. - Navegue até a interface de Trabalhos e Pipelines no mesmo workspace do Azure Databricks que o trabalho.
- Selecione o filtro Acessível por mim .
- Cole a ID (700809544510906) na barra de pesquisa Filtrar trabalhos.
Para encontrar um notebook na interface do usuário com base em notebook_id, siga as seguintes instruções:
- Copie
notebook_iddo registro de uso. Para este exemplo, suponha que a ID seja700809544510906. - Navegue até a interface do usuário de Workspaces no mesmo workspace do Azure Databricks que o trabalho.
- Clique em qualquer notebook na lista.
- Depois de abrir o bloco de anotações, examine a URL na barra de endereços do navegador. Ela deve ter aparência semelhante a
https://<account-console-url>/?o=<workspace ID>#notebook/<notebook ID>/command/<command ID>. - Na barra de endereços do navegador, substitua a ID do notebook pela ID copiada na primeira etapa e exclua tudo após a ID do notebook. Ela deve ter aparência semelhante a
https://<account-console-url>/?o=<workspace ID>#notebook/700809544510906. - Depois de abrir o notebook, você pode clicar no botão Compartilhar para exibir o proprietário do notebook.
Use alertas para rastrear gastos sem servidor
Os alertas são uma maneira poderosa de se manter informado sobre seus gastos sem servidor. Com os alertas, você pode receber notificações quando determinadas condições são atendidas nos resultados da consulta. Para saber como criar alertas, confira Criar um alerta.
Você pode adicionar alertas às consultas a seguir para monitorar os orçamentos. Em cada consulta, substitua {budget} pelo orçamento escolhido.
Alerta quando qualquer gasto de workspace excede um limite nos últimos 30 dias
Você pode definir um alerta a ser disparado sempre que esta consulta retornar uma linha. Substitua {budget} pelo orçamento escolhido.
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 quando um usuário excede o limite nos últimos 30 dias
Você pode definir um alerta a ser disparado sempre que esta consulta retornar uma linha. Substitua {budget} pelo orçamento escolhido.
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 quando um trabalho excede o limite nos últimos 30 dias
Você pode definir um alerta a ser disparado sempre que esta consulta retornar uma linha. Substitua {budget} pelo orçamento escolhido.
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 exemplo
Use as seguintes consultas para obter informações sobre o uso sem servidor em sua conta:
- Classifique os notebooks sem servidor com base no gasto total
- Classificar trabalhos sem servidor com base no gasto total
- Relatório sobre DBUs consumidos por um usuário específico
- Relatório sobre DBUs de computação sem servidor consumidos por cargas de trabalho que compartilham uma marca personalizada
Classificar blocos de anotações sem servidor com base no gasto total
Esta consulta retorna uma lista de notebooks e quantas DBUs cada notebook consumiu, em ordem decrescente de 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
Classificar trabalhos sem servidor com base no gasto total
Esta consulta retorna uma lista de trabalhos e quantas DBUs cada trabalho consumiu, em ordem decrescente de 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
Relatório sobre DBUs consumidas por um usuário específico
Esta consulta retorna uma lista de notebooks e trabalhos que usam a computação sem servidor executada por um determinado usuário ou entidade de serviço e o número de DBUs consumidas por cada carga de trabalho:
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
Relatório sobre DBUs de computação sem servidor consumidas por cargas de trabalho que compartilham uma marca personalizada
Esta consulta retorna uma lista de trabalhos que usam computação sem servidor que compartilham a mesma marca personalizada e o número de DBUs consumidas por cada carga de trabalho:
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