Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este 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 monitorizar o uso da computação sem servidor para cadernos e trabalhos consultando a tabela do sistema de uso passível de cobrança (system.billing.usage), que inclui atributos de utilizador e tarefas 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 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 de orçamento sem servidor. Consulte Uso de atributos com políticas de orçamento sem servidor.
Observação
Devido à nossa arquitetura distribuída, pode ver múltiplos registos associados a uma dada carga de computação serverless num determinado período de tempo. Por exemplo, pode ver vários registos com o mesmo job_id, job_run_id, ou job_name com valores de consumo DBU diferentes para cada um. A soma destes DBUs representa o consumo horário de DBUs para uma determinada execução de tarefas nesse intervalo de tempo.
Funcionalidades adicionais cobradas 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 sob a SKU de trabalhos sem servidor:
-
Monitoramento da qualidade dos dados: Registrado na tabela de faturamento com um
billing_origin_productvalor deLAKEHOUSE_MONITORING. -
Otimização Preditiva: Registado 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 exibir registros de faturamento para exibição materializada consultando registros onde
billing_origin_product = 'SQL'eusage_metadata.dlt_pipeline_id IS NOT NULL. -
Controle de acesso refinado em computação dedicada: é identificado 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.
Use orçamentos para monitorar gastos
Os administradores de conta podem configurar orçamentos para agrupar custos e configurar alertas. Consulte Criar e monitorar 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 Catálogo Unity em sua conta. Consulte Importar um painel de utilização.
Encontre um trabalho ou bloco de anotações na interface do usuário
Para localizar uma tarefa ou bloco de anotações na interface do utilizador com base num registo de faturação, copie o valor do usage_metadata.job_id ou usage_metadata.notebook_id do registo de uso. Essas IDs são imutáveis e podem ser usadas mesmo se o nome do trabalho ou o caminho do bloco de anotações for alterado.
Para encontrar um trabalho na interface do usuário com base em job_id:
- Copie o
job_iddo registo de utilização. Para este exemplo, suponha que o ID seja700809544510906. - Navegue até a interface do usuário Jobs & Pipelines no mesmo espaço de trabalho do Azure Databricks que o trabalho.
- Selecione o filtro Acessível por mim .
- Cole o ID (700809544510906) na barra de pesquisa Filtrar trabalhos .
Para localizar um bloco de anotações na IU com base em seu notebook_id, siga os seguintes passos:
- Copie o
notebook_iddo registo de utilização. Para este exemplo, suponha que o ID seja700809544510906. - Navegue até a interface Áreas de Trabalho no mesmo espaço de trabalho do Azure Databricks que o notebook.
- Clique em qualquer caderno na lista.
- Depois de abrir o bloco de anotações, examine o URL na barra de endereço do navegador. Deve parecer com
https://<account-console-url>/?o=<workspace ID>#notebook/<notebook ID>/command/<command ID>. - Na barra de endereço do navegador, substitua o ID do caderno pelo ID que copiou na primeira etapa e remova tudo o que estiver a seguir ao ID do caderno. Deve parecer com
https://<account-console-url>/?o=<workspace ID>#notebook/700809544510906. - Depois de abrir o bloco de notas, pode clicar no botão Partilhar para ver o proprietário do bloco de notas.
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 forem atendidas nos resultados da consulta. Para saber como criar alertas, consulte Criar um alerta.
Você pode adicionar alertas às consultas a seguir para monitorar orçamentos. Em cada consulta, substitua {budget} pelo orçamento escolhido.
Alertar quando qualquer gasto no espaço de trabalho exceder um limite nos últimos 30 dias
Você pode definir um alerta para ser acionado sempre que essa 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}
Alertar quando um usuário exceder o limite nos últimos 30 dias
Você pode definir um alerta para ser acionado sempre que essa 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}
Alertar quando um trabalho exceder o limite nos últimos 30 dias
Você pode definir um alerta para ser acionado sempre que essa 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}
Exemplos de consultas
Use as seguintes consultas para obter informações sobre o uso sem servidor em sua conta:
- Classificar cadernos 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 tag personalizada
Classificar blocos de anotações sem servidor com base no gasto total
Esta consulta retorna uma lista de blocos de anotações e quantas DBUs cada bloco de anotações consumiu, em ordem decrescente 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
Classificar trabalhos sem servidor com base no gasto total
Esta consulta retorna uma lista de trabalhos e quantos DBUs cada trabalho consumiu, em ordem decrescente 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
Relatório sobre DBUs consumidos por um usuário específico
Esta consulta retorna uma lista de blocos de anotações e trabalhos que usam computação sem servidor executada por um usuário ou entidade de serviço específica e o número de DBUs consumidos 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 consumidos por cargas de trabalho que compartilham uma tag personalizada
Essa consulta retorna uma lista de trabalhos que usam computação sem servidor que compartilham a mesma marca personalizada e o número de DBUs consumidos 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