Compartilhar via


Referência da tabela do sistema de uso faturável

Este artigo fornece uma visão geral da tabela do sistema de uso faturável, incluindo o esquema e as consultas de exemplo. Com as tabelas do sistema, os dados de uso faturáveis da sua conta são centralizados e roteados para todas as regiões, para que você possa exibir o uso global da sua conta de qualquer região em que seu workspace esteja.

Para obter informações sobre como usar esta tabela para monitorar os custos de trabalho, veja Monitoramento de custos de trabalho & usando tabelas do sistema.

Para obter estratégias sobre como analisar o uso sem servidor, consulte Monitorar o custo de computação sem servidor.

Caminho da tabela: Esta tabela do sistema está localizada em system.billing.usage.

Esquema da tabela de utilização faturável

A tabela do sistema de uso faturável usa o seguinte esquema:

Nome da coluna Tipo de dados Descrição Exemplo
record_id string ID exclusiva para este registro 11e22ba4-87b9-4cc2
-9770-d10b894b7118
account_id string ID da conta para a qual este relatório foi gerado 23e22ba4-87b9-4cc2
-9770-d10b894b7118
workspace_id string ID do workspace ao qual esse uso foi associado 1234567890123456
sku_name string Nome da SKU STANDARD_ALL_PURPOSE_COMPUTE
cloud string Nuvem para a qual esse uso é relevante. Os valores possíveis são AWS, AZURE e GCP. AWS, AZURE ou GCP
usage_start_time timestamp A hora de início relevante para este registro de uso. As informações de fuso horário são registradas no final do valor, com +00:00 representando o fuso horário UTC. 2023-01-09 10:00:00.000+00:00
usage_end_time timestamp A hora de término relevante para esse registro de uso. As informações de fuso horário são registradas no final do valor, com +00:00 representando o fuso horário UTC. 2023-01-09 11:00:00.000+00:00
usage_date date Data do registro de uso, esse campo pode ser usado para agregação mais rápida por data 2023-01-01
custom_tags map Tags aplicadas a esse uso. Inclui tags de recursos de computação, tags de trabalhos, tags personalizadas de workspace e tags de política de orçamento. { “env”: “production” }
usage_unit string Unidade em que esse uso é medido. Os valores possíveis incluem DBUs. DBU
usage_quantity decimal Número de unidades consumidas para esse registro. 259.2958
usage_metadata struct Metadados fornecidos pelo sistema sobre o uso, incluindo IDs para trabalhos e recursos de computação (se aplicável). Consulte Analisar metadados de uso. {cluster_id: null;
instance_pool_id: null;
notebook_id: null;
job_id: null;
node_type: null}
identity_metadata struct Metadados fornecidos pelo sistema sobre as identidades envolvidas no uso. Consulte Analisar metadados de identidade. {run_as: example@email.com}
record_type string Se o registro é original, uma retratação ou uma reformulação. O valor é ORIGINAL, a menos que o registro esteja relacionado a uma correção. Consulte Analisar registros de correção. ORIGINAL
ingestion_date date Data em que o registro foi ingerido na tabela usage. 2024-01-01
billing_origin_product string O produto que originou o uso. Alguns produtos podem ser cobrados como SKUs diferentes. Para obter valores possíveis, confira Exibir informações sobre o produto associado ao uso. JOBS
product_features struct Detalhes sobre os recursos específicos do produto usados. Para obter valores possíveis, confira Recursos do produto.
usage_type string O tipo de uso atribuído ao produto ou carga de trabalho para fins de cobrança. Os valores possíveis são COMPUTE_TIME, STORAGE_SPACE, NETWORK_BYTES, API_OPERATION, TOKEN ou GPU_TIME. STORAGE_SPACE

Analisar metadados de uso

Os valores em usage_metadata informam sobre os recursos envolvidos no registro de uso.

Valor Tipo de dados Descrição
cluster_id string ID do cluster associado ao registro de uso
warehouse_id string ID do SQL Warehouse associado ao registro de uso
instance_pool_id string ID do pool de instância associado ao registro de uso
node_type string O tipo de instância do recurso de computação
job_id string ID do trabalho associado ao registro de uso. Retorna apenas um valor para uso da computação sem servidor ou de trabalhos; caso contrário, retorna null.
job_run_id string ID da execução do trabalho associada ao registro de uso. Retorna apenas um valor para uso da computação sem servidor ou de trabalhos; caso contrário, retorna null.
job_name string Nome dado pelo usuário para o trabalho associado ao registro de uso. Retorna apenas um valor para a computação sem servidor ou execução de trabalhos; caso contrário, retorna null.
notebook_id string ID do notebook associado ao uso. Retorna apenas um valor para computação sem servidor para uso de notebook; caso contrário, retorna null.
notebook_path string Caminho de armazenamento do espaço de trabalho do notebook associado ao uso. Retorna apenas um valor para computação sem servidor para uso de notebook; caso contrário, retorna null.
dlt_pipeline_id string ID do pipeline de Delta Live Tables associado ao registro de uso
dlt_update_id string ID da atualização do pipeline de Delta Live Tables associada ao registro de uso
dlt_maintenance_id string ID das tarefas de manutenção do pipeline de Delta Live Tables associadas ao registro de uso
run_name string Identificador exclusivo voltado para o usuário do modelo de fundação Ajuste fino associado ao registro de uso
endpoint_name string O nome do ponto de extremidade de serviço do modelo ou do ponto de extremidade de busca em vetores associado ao registro de uso
endpoint_id string ID do ponto de extremidade de serviço do modelo ou ponto de extremidade de pesquisa emvetores associado ao registro de uso
central_clean_room_id string ID da sala limpa central associada ao registro de uso
metastore_id string ID do metastore associado ao registro de uso.

Analisar metadados de identidade

A coluna identity_metadata pode ajudar você a identificar quem é responsável por um registro de cobrança sem servidor. A coluna inclui um valor run_as que atribui o uso a uma identidade. A identidade registrada em identity_metadata.run_as depende do produto associado ao uso.

Consulte a tabela a seguir para obter o comportamento identity_metadata.run_as:

Tipo de carga de trabalho Identidade de run_as
Computação de trabalhos O usuário ou a entidade de serviço definida na configuração de run_as. Por padrão, os trabalhos são executados como a identidade do proprietário do trabalho, mas os administradores podem alterá-lo para ser outro usuário ou entidade de serviço.
Computação sem servidor para trabalhos O usuário ou a entidade de serviço definida na configuração de run_as. Por padrão, os trabalhos são executados como a identidade do proprietário do trabalho, mas os administradores podem alterá-lo para ser outro usuário ou entidade de serviço.
Computação sem servidor para notebooks O usuário que executou os comandos do notebook (especificamente, o usuário que criou a sessão do notebook). Para notebooks compartilhados, isso inclui o uso de outros usuários que compartilham a mesma sessão de notebook.
Pipelines do Delta Live Tables O usuário cujas permissões são usadas para executar o pipeline do Delta Live Tables. Isso pode ser alterado transferindo a propriedade do pipeline.
Ajuste fino do modelo de fundação O usuário ou a entidade de serviço que iniciou a execução de treinamento de ajuste fino.

Analisar registros de correção

A tabela billing.usage suporta correções. As correções ocorrem quando qualquer campo do registro de uso está incorreto e deve ser corrigido.

Quando ocorre uma correção, o Azure Databricks adiciona dois novos registros à tabela. Um registro de retratação nega o registro incorreto original e, em seguida, um registro de reformulação inclui as informações corrigidas. Os registros de correção são identificados usando o campo record_type:

  • RETRACTION: Usado para negar o uso incorreto original. Todos os campos são idênticos ao registro ORIGINAL, exceto usage_quantity, que é um valor negativo que anula a quantidade de uso original. Por exemplo, se a quantidade de uso do registro original fosse 259.4356, o registro de retratação teria uma quantidade de uso -259.4356.
  • RESTATEMENT: O registro que inclui os campos corretos e a quantidade de uso.

Por exemplo, a consulta a seguir retorna a quantidade correta de uso por hora relacionada a um job_id, mesmo que as tenham sido feitas correções. Ao agregar a quantidade de uso, o registro de retratação nega o registro original e somente os valores da reformulação são retornados.

SELECT
  usage_metadata.job_id, usage_start_time, usage_end_time,
  SUM(usage_quantity) as usage_quantity
FROM system.billing.usage
GROUP BY ALL
HAVING usage_quantity != 0

Observação

Para correções em que o registro de uso original não deveria ter sido gravado, uma correção pode adicionar apenas um registro de retratação e nenhum registro de reformulação.

Exibir informações sobre o produto associado ao uso

Alguns produtos do Databricks são cobrados na mesma SKU compartilhada. Para ajudá-lo a diferenciar o uso, as colunas billing_origin_product e product_features fornecem mais informações sobre o produto e os recursos específicos associados ao uso.

A coluna billing_origin_product mostra o produto do Databricks associado ao registro de uso. Os valores incluem:

  • JOBS
  • DLT
  • SQL
  • ALL_PURPOSE
  • MODEL_SERVING
  • INTERACTIVE
  • DEFAULT_STORAGE
  • VECTOR_SEARCH
  • LAKEHOUSE_MONITORING
  • PREDICTIVE_OPTIMIZATION
  • ONLINE_TABLES
  • FOUNDATION_MODEL_TRAINING

A coluna product_features é um objeto que contém informações sobre os recursos específicos do produto usados e inclui os seguintes pares chave/valor:

  • jobs_tier: os valores incluem LIGHT, CLASSIC ou null
  • sql_tier: os valores incluem CLASSIC, PRO ou null
  • dlt_tier: os valores incluem CORE, PRO, ADVANCED ou null
  • is_serverless: os valores incluem true ou false, ou null
  • is_photon: os valores incluem true ou false, ou null
  • serving_type: os valores incluem MODEL, GPU_MODEL, FOUNDATION_MODEL, FEATURE ou null

Consultas de exemplo

Você pode usar as seguintes consultas de exemplo para responder a perguntas comuns sobre o uso faturável:

Qual é a tendência diária no 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

Quantas DBUs de cada produto foram usadas ao longo deste mês?

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

Quais trabalhos consumiram mais DBUs?

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
  `DBUs` DESC

Quanto uso pode ser atribuído aos recursos com uma marca específica?

Você pode dividir os custos de várias maneiras. Este exemplo mostra como dividir os custos por uma marca personalizada. Substitua a chave e o valor da marca personalizada na consulta.

SELECT
  sku_name, usage_unit, SUM(usage_quantity) as `Usage`
FROM
  system.billing.usage
WHERE
  custom_tags.{{key}} = "{{value}}"
GROUP BY 1, 2

Mostre-me os produtos em que o uso está crescendo

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 "2023-04-01" and "2023-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
     "2023-05-01" and "2023-05-30"
   GROUP BY
     billing_origin_product
  ) as after
WHERE
  before.billing_origin_product = after.billing_origin_product
SORT BY
  growth_rate DESC

Qual é a tendência de uso da Computação de Todas as Finalidades (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 > "2023-04-15"
GROUP BY
  sku_name, usage_date

Qual é o consumo de DBU de uma exibição materializada ou tabela de streaming?

Para obter o uso de DBU e o SKU para uma exibição materializada específica ou tabela de streaming, envie uma consulta à tabela do sistema de uso cobrável para registros em que usage_metadata.dlt_pipeline_id está definido como a ID do pipeline associado à exibição materializada ou à tabela de streaming. A ID do pipeline pode ser encontrada na guia Detalhes do Gerenciador de Catálogos ao exibir a exibição materializada ou a tabela de streaming. Para limitar opcionalmente o consumo por data, especifique uma data de início, uma data de término ou um intervalo de datas. A consulta a seguir recupera o uso de DBU para o pipeline com ID 00732f83-cd59-4c76-ac0d-57958532ab5b e uma data de início de uso de 2023-05-30:

SELECT
  sku_name,
  usage_date,
  SUM(usage_quantity) AS `DBUs`
FROM
  system.billing.usage
WHERE
  usage_metadata.dlt_pipeline_id = "00732f83-cd59-4c76-ac0d-57958532ab5b"
AND
  usage_start_time > "2023-05-30"
GROUP BY
  ALL

Qual é o consumo de DBU de um pipeline DLT sem servidor?

Para obter o uso de DBU e o SKU para um pipeline DLT sem servidor, envie uma consulta à tabela do sistema de uso cobrável para registros em que usage_metadata.dlt_pipeline_id está definido como a ID do pipeline. A ID do pipeline pode ser encontrada na guia Detalhes do pipeline ao exibir um pipeline na interface do usuário do Delta Live Tables. Para limitar opcionalmente o consumo por data, especifique uma data de início, uma data de término ou um intervalo de datas. A consulta a seguir recupera o uso de DBU de dezembro de 2023 para o pipeline com 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 = "00732f83-cd59-4c76-ac0d-57958532ab5b"
AND
  usage_start_time >= "2023-12-01"
AND
  usage_end_time < "2024-01-01"
GROUP BY
  ALL