Ir para o conteúdo principal
Plataforma > Produtos > Anúncios

As 5 principais consultas de tabelas de sistema para entender seus custos do Databricks

Cinco consultas SQL que revelam tendências de custos, atribuem gastos por equipe, sinalizam anomalias e preveem a fatura do próximo mês

por Drew Vander Wood

  • Veja para onde seu dinheiro está indo hoje, não no próximo mês. Três consultas SQL detalham os gastos do Databricks por produto, SQL warehouse e equipe, usando tabelas de sistema que são atualizadas quase em tempo real.
    • Identifique picos de custos no dia em que acontecem. Uma linha de base móvel de 14 dias sinaliza dias anômalos em relação a uma média móvel, pronta para ser integrada a um alerta do DBSQL.
    • Projete para onde você está indo. O AI_FORECAST extrapola seu uso recente em uma projeção de gastos de 30 dias em uma única consulta — sem modelagem manual de séries temporais.

As tabelas de sistema do Databricks fornecem uma riqueza de informações sobre como você usa o Databricks e quanto isso custa. Focando no custo, a tabela `system.billing.usage` fornece uma visão global agregada dos custos de toda a sua conta do Databricks e, junto com a tabela `system.billing.list_prices`, pode dar uma visão profunda de onde os gastos estão sendo alocados. O Databricks oferece um Painel de Uso pré-construído que fornece um excelente ponto de partida para entender os custos, mas entender as tabelas subjacentes e criar consultas nelas permite que você leve suas análises para o próximo nível, especialmente ao aproveitar os recursos de visualização do Databricks.

Abaixo estão cinco consultas para usar como ponto de partida para entender melhor seus gastos. Começamos com um detalhamento diário simples dos gastos por produto, depois passamos a entender os gastos sob a ótica de SQL Warehouses e tags específicas e, finalmente, identificamos dias com gastos anômalos, além de prever gastos futuros com AI. Todas as consultas fornecem insights por meio dos resultados retornados, mas são ainda mais eficazes quando usadas como conjuntos de dados em um painel de AI/BI onde os dados podem ser visualizados e mais detalhadamente interrogados com o Genie.

Consulta 1: Gasto diário por produto

O que a consulta mostra

Nossa primeira consulta é simplesmente um detalhamento dos gastos por dia e por produto. Fazemos o join da tabela de uso (nossa tabela fato) com nossa tabela de preços (uma dimensão SCD Tipo 2) para obter nossos gastos ao longo do tempo com base na tabela de preços padrão. Como mencionado acima, você pode substituir a tabela de preços padrão fornecida por uma tabela personalizada que incorpore quaisquer descontos relevantes para ver os custos exatos.

Quando usar a consulta

Esta consulta é perfeita para ter uma noção de como seu ambiente Databricks está sendo usado, quais produtos estão crescendo ou diminuindo em uso e qual é o gasto total. Recomendamos sempre começar por aqui ao examinar os gastos do Databricks.

O que observar

A tabela `system.billing.usage` contém apenas os custos do Databricks. Isso significa que, em qualquer caso em que a computação não serverless esteja sendo usada, os gastos com infraestrutura de nuvem não estão incluídos e precisariam ser revisados no console de nuvem correspondente (computação, rede, armazenamento, etc.).

Consulta 2: Tendências de custo de Warehouse

O que a consulta mostra

Os SQL Warehouses do Databricks são uma ferramenta incrivelmente poderosa para dar suporte a analistas de SQL, painéis e Genie Agents, e entender suas tendências de custo é essencial para qualquer pessoa que gerencie uma conta do Databricks. A Consulta 2 permite que você veja tendências no uso diário de warehouses, o que, como você paga pelo consumo, é análogo ao uso deles.

Quando usar a consulta

Com o Databricks, você paga pelo consumo, portanto, ver tendências de custo de um warehouse é análogo a ver tendências em seu uso (pelo menos no sentido de que o tempo de atividade acompanha o uso). Esta consulta pode, essencialmente, mostrar o uso de warehouses, onde um uso maior pode ser devido a um maior tempo de atividade ou a mais tempo gasto em escala expandida. Depois de identificar um warehouse para análise posterior com esta consulta, você poderá investigá-lo mais a fundo com a tabela de sistema `system.compute.warehouse_events` ou a página de monitoramento do warehouse, e ver se o warehouse poderia usar configurações diferentes de dimensionamento ou parada automática. O uso do warehouse também pode fornecer insights rápidos sobre como os painéis ou espaços do Genie criados com base neles estão sendo usados, e se mais deve ser feito para divulgá-los aos usuários de negócios.

O que observar

Por padrão, esta consulta inclui todos os warehouses que estavam ativos no período analisado, incluindo os que foram excluídos. Há uma coluna incluída (is_deleted) que pode ser usada como um filtro adicional se você quiser remover os warehouses excluídos da análise.

Consulta 3: Atribuição de custos baseada em tags

Gráfico de barras mostrando um exemplo de atribuição de custos baseada em tags ao longo do tempo

O que a consulta mostra

Tags são um recurso poderoso que pode ser usado para rastrear o uso entre usuários, projetos, equipes ou workspaces. Especificamente, as tags personalizadas podem ser aplicadas por meio de políticas de computação e políticas de uso serverless, e você pode usar essas tags ao analisar os dados de uso das tabelas do sistema. Por exemplo, você pode optar por exigir a marcação por equipe, onde os valores permitidos são mapeados para unidades de negócios, como marketing, finanças e engenharia. Em seguida, use esta consulta onde você parametrizou a tag pela qual está agrupando para ver o uso por equipe.

Quando usar a consulta

Esta consulta pode ser usada sempre que uma estratégia de marcação for utilizada e você quiser ver os custos com base nos valores da tag. Nem todo registro em sua tabela precisa ser marcado; se a chave da tag não existir no registro, ele será registrado como sem tag (untagged) e poderá ser filtrado da sua análise ou usado para identificar locais onde a marcação não está sendo aplicada corretamente.

O que prestar atenção

Como mencionado antes, os registros que não estão marcados retornarão como sem tag, o que pode ser útil para identificar áreas onde a marcação não está sendo aplicada, mas também pode ser indesejável porque a tag pode ser relevante apenas para um subconjunto de uso. Você pode modificar a consulta incluindo `u.custom_tags[:tag_key] is not null` na cláusula where para filtrar registros que não possuem a tag, ou ir além, filtrando por mais de uma tag ou adicionando várias tags ao group by da consulta.

Consulta 4: Detecção diária de anomalias de custo

O que a consulta mostra

Bons controles por meio de políticas de computação, configurações de limite de tempo de trabalho (job timeout) e orçamentos ajudam os administradores da plataforma Databricks a manter os gastos dentro dos limites, mas sempre há a possibilidade de um usuário com permissões suficientes criar um job ou warehouse que seja executado por muito tempo ou permaneça dimensionado além do esperado, causando um pico inesperado nos gastos. A Consulta 4 foi criada para ajudar a detectar isso o mais rápido possível. De forma simples, ela usa a média móvel de gastos de 14 dias e categoriza o gasto diário como elevado se estiver mais de um desvio padrão acima da média, ou como uma anomalia se estiver mais de dois.

Quando usar a consulta

Esta consulta é perfeita para ser usada em um dashboard de monitoramento de custos ou você pode usar essa ideia como base para um alerta que enviaria um e-mail automaticamente para os administradores se o dia anterior estivesse elevado ou anômalo.

O que prestar atenção

Se a sua carga de trabalho for muito inconsistente de um dia para o outro, os desvios padrão no seu uso podem ser muito altos, e é improvável que esta consulta detecte algo além dos maiores picos de uso.

Consulta 5: Previsão de gastos

Exemplo de gráfico mostrando os gastos históricos e previstos

O que a consulta mostra

Nas quatro consultas anteriores, focamos em analisar os gastos passados, mas os gastos futuros são essenciais para entender o panorama completo do seu uso do Databricks. Normalmente, isso exigiria uma modelagem de previsão complexa, mas entre as Funções de IA do Databricks SQL, está a poderosa ai_forecast, que permite extrapolar um conjunto de dados de série temporal, como os dados de uso do Databricks, para o futuro. É possível ajustar a quantidade de dados inseridos na função, visualizar os resultados em um gráfico e produzir rapidamente uma previsão dos seus gastos no Databricks.

Quando usar a consulta

Novamente, esta consulta é perfeita para adicionar a um dashboard de monitoramento de custos, para que você tenha uma ideia de como serão seus gastos no futuro e possa ajudar no planejamento e orçamento.

O que prestar atenção

Esta consulta faz previsões com base em dados anteriores. Portanto, se você a estiver usando para planejamento futuro, certifique-se de considerar quaisquer novas cargas de trabalho futuras que possa estar planejando e que não seriam previstas por essa projeção.

Experimente as consultas de tabela do sistema 

Executar essas consultas uma vez mostra o que aconteceu. Fixá-las em um dashboard de AI/BI muda a forma como sua equipe gerencia os gastos. Insira cada uma delas como um dataset, configure os parâmetros de intervalo de datas e tags, e faça do dashboard a sua revisão semanal de custos. A partir daqui, duas próximas etapas: adicione aos favoritos a referência de tabelas de sistema da Databricks para obter o catálogo completo de tabelas que você pode consultar e explorar mais consultas de exemplo para expandir seu kit de ferramentas além dessas cinco. Ainda não tem um workspace? Inicie uma avaliação gratuita.    

(Esta publicação no blog foi traduzida utilizando ferramentas baseadas em inteligência artificial) Publicação original

Receba os posts mais recentes na sua caixa de entrada

Assine nosso blog e receba os posts mais recentes diretamente na sua caixa de entrada.