Pular para o conteúdo principal

Monitore o custo pipeline de ingestão de gerenciamento

Sim, marcado como certo Conectores SaaS Sim, marcado como certo Conectores de banco de dados

Aprenda como usar a tabela system.billing.usage para monitorar os custos pipeline de ingestão de gerenciamento e rastrear o uso. As consultas nesta página ajudam você a entender os padrões de gastos, identificar os fluxos de trabalho de alto custo e atribuir custos a fontes de dados específicas.

Como interpretar os dados de utilização LakeFlow Connect

Usuários com permissões para acessar dados de tabelas do sistema podem view e consultar logs de faturamento de suas account para ingestão gerenciada em system.billing.usage. Cada registro de faturamento inclui colunas que atribuem a quantidade de uso a recursos, identidades e produtos específicos envolvidos.

O gerenciamento do uso pipeline de ingestão no LakeFlow Connect é rastreado usando os seguintes parâmetros de faturamento:

Parâmetro

Descrição

billing_origin_product

Defina como LAKEFLOW_CONNECT para todo o uso do conector de gerenciamento.

usage_type

Defina como COMPUTE_TIME para processamento em pipeline.

usage_unit

Registrado em MILLISECOND (tempo compute bruto) e DBU (unidade de preços).

A coluna usage_metadata inclui uma estrutura com informações sobre o recurso pipeline :

campo

Descrição

dlt_pipeline_id

O identificador único para o pipeline de ingestão.

  • uc_table_catalog
  • uc_table_schema
  • uc_table_name

A informação da tabela de destino.

Para obter uma referência completa da tabela de utilização, consulte Referência da tabela de utilização faturável do sistema.

custos de manutenção de dutos

A manutenção do pipeline de ingestão gerenciada acarreta custos semelhantes aos do pipeline declarativo LakeFlow Spark . Esses custos de manutenção abrangem a infraestrutura pipeline , o gerenciamento de metadados e o acompanhamento de alterações entre as execuções pipeline . É possível distinguir entre custos de processamento de dados e custos de manutenção analisando os padrões de uso ao longo do tempo.

Operacionalizar os dados de faturamento

Databricks recomenda o uso de dashboardsAI/BI para criar dashboards de monitoramento de custos usando dados de faturamento da tabela do sistema. Você pode criar um novo painel de controle ou os administradores account podem importar um painel de monitoramento de custos pré-configurado e personalizável. Consulte os painéis de utilização.

Você também pode adicionar alertas às suas consultas para se manter informado sobre os dados de utilização. Consulte Criar um alerta.

Exemplos de consultas

As consultas a seguir fornecem exemplos de como você pode usar os dados da tabela system.billing.usage para obter insights sobre o uso do seu pipeline de ingestão de gerenciamento.

Qual foi o consumo do meu pipeline neste mês?

Esta consulta retorna o consumo total DBU para todo o pipeline de ingestão de dados no mês atual. Use isso para acompanhar os gastos totais com conectores de guindaste.

SQL
SELECT
usage_date,
SUM(usage_quantity) AS total_dbus
FROM system.billing.usage
WHERE
billing_origin_product = 'LAKEFLOW_CONNECT'
AND MONTH(usage_date) = MONTH(NOW())
AND YEAR(usage_date) = YEAR(NOW())
GROUP BY usage_date
ORDER BY usage_date DESC

Qual oleoduto consumiu a maior quantidade de DBUs?

Esta consulta identifica o seu pipeline de ingestão mais dispendioso, combinando dados de utilização com metadados pipeline . Use isso para priorizar os esforços de otimização.

SQL
WITH ranked_pipelines AS (
SELECT
u.usage_metadata.dlt_pipeline_id AS pipeline_id,
p.name AS pipeline_name,
SUM(u.usage_quantity) AS total_dbus,
COUNT(DISTINCT u.usage_date) AS days_active
FROM system.billing.usage u
JOIN system.lakeflow.pipelines p
ON u.usage_metadata.dlt_pipeline_id = p.pipeline_id
WHERE
u.billing_origin_product = 'LAKEFLOW_CONNECT'
AND u.usage_date >= DATE_SUB(NOW(), 30)
GROUP BY pipeline_id, pipeline_name
)
SELECT
pipeline_name,
pipeline_id,
total_dbus,
days_active,
ROUND(total_dbus / days_active, 2) AS avg_daily_dbus
FROM ranked_pipelines
ORDER BY total_dbus DESC
LIMIT 20

Qual é a tendência de custos para um pipeline específico?

Esta consulta mostra o padrão de uso diário de um pipeline específico. Substitua :dlt_pipeline_id pelo ID do seu pipeline , que você pode encontrar na tab Detalhes do pipeline na interface do usuário do pipeline declarativo LakeFlow Spark .

SQL
SELECT
usage_date,
SUM(usage_quantity) AS daily_dbus,
COUNT(*) AS usage_events
FROM system.billing.usage
WHERE
usage_metadata.dlt_pipeline_id = :dlt_pipeline_id
AND billing_origin_product = 'LAKEFLOW_CONNECT'
AND usage_date >= DATE_SUB(NOW(), 90)
GROUP BY usage_date
ORDER BY usage_date ASC

Quais são os tipos de fontes mais caras?

Esta consulta detalha os custos pipeline de ingestão de arquivos por conector. Use isso para entender qual fonte de dados gera a maior utilização.

SQL
SELECT
p.connector_type AS source_type,
COUNT(DISTINCT p.pipeline_id) AS pipeline_count,
SUM(u.usage_quantity) AS total_dbus,
ROUND(SUM(u.usage_quantity) / COUNT(DISTINCT p.pipeline_id), 2) AS avg_dbus_per_pipeline
FROM system.billing.usage u
JOIN system.lakeflow.pipelines p
ON u.usage_metadata.dlt_pipeline_id = p.pipeline_id
WHERE
u.billing_origin_product = 'LAKEFLOW_CONNECT'
AND u.usage_date >= DATE_SUB(NOW(), 30)
GROUP BY source_type
ORDER BY total_dbus DESC

Qual a porcentagem de uso que pode ser atribuída ao pipeline com uma tag de orçamento específica?

Esta consulta mostra o uso de tags de pipeline de ingestão gerencial com uma política de orçamento específica. tags de política orçamentária permitem rastrear custos em vários fluxos de trabalho para fins de estorno ou alocação de custos. Substitua :key e :value pela sua key e valor tag personalizados.

As tags de política orçamentária para gerenciar o pipeline de ingestão são exclusivas da API. Para obter mais informações sobre políticas de orçamento, consulte Uso de atributos com políticas de orçamento serverless.

SQL
SELECT
custom_tags[:key] AS tag_value,
usage_date,
SUM(usage_quantity) AS daily_dbus
FROM system.billing.usage
WHERE
billing_origin_product = 'LAKEFLOW_CONNECT'
AND custom_tags[:key] = :value
AND usage_date >= DATE_SUB(NOW(), 30)
GROUP BY tag_value, usage_date
ORDER BY usage_date DESC

Qual é o custo de manutenção em comparação com...? Qual o custo de processamento de dados para meu pipeline?

A consulta a seguir separa os custos de manutenção do pipeline dos custos de processamento de dados. As taxas de manutenção ocorrem mesmo quando os pipelines não estão ativamente ingerindo dados, abrangendo infraestrutura e acompanhamento de alterações.

A consulta utiliza um limite de 0,1 DBU por hora para distinguir entre custos de manutenção e custos de processamento. Ajuste esse limite com base nas características do seu pipeline .

SQL
WITH hourly_usage AS (
SELECT
usage_metadata.dlt_pipeline_id AS pipeline_id,
DATE_TRUNC('hour', usage_start_time) AS usage_hour,
SUM(usage_quantity) AS hourly_dbus
FROM system.billing.usage
WHERE
billing_origin_product = 'LAKEFLOW_CONNECT'
AND usage_date >= DATE_SUB(NOW(), 30)
GROUP BY pipeline_id, usage_hour
)
SELECT
pipeline_id,
SUM(CASE WHEN hourly_dbus > 0.1 THEN hourly_dbus ELSE 0 END) AS processing_dbus,
SUM(CASE WHEN hourly_dbus <= 0.1 THEN hourly_dbus ELSE 0 END) AS maintenance_dbus,
SUM(hourly_dbus) AS total_dbus
FROM hourly_usage
GROUP BY pipeline_id
ORDER BY total_dbus DESC

Mostre-me o oleoduto onde os custos estão aumentando mês a mês.

Esta consulta calcula a taxa de crescimento do uso pipeline de ingestão gerencial entre dois meses. Utilize esta ferramenta para identificar fluxos de trabalho com custos crescentes que possam necessitar de otimização ou revisão do volume de dados.

SQL
SELECT
after.pipeline_id,
after.pipeline_name,
before_dbus,
after_dbus,
ROUND(((after_dbus - before_dbus) / NULLIF(before_dbus, 0) * 100), 2) AS growth_rate
FROM
(
SELECT
u.usage_metadata.dlt_pipeline_id AS pipeline_id,
p.name AS pipeline_name,
SUM(u.usage_quantity) AS before_dbus
FROM system.billing.usage u
JOIN system.lakeflow.pipelines p
ON u.usage_metadata.dlt_pipeline_id = p.pipeline_id
WHERE
u.billing_origin_product = 'LAKEFLOW_CONNECT'
AND u.usage_date BETWEEN DATE_SUB(NOW(), 60) AND DATE_SUB(NOW(), 30)
GROUP BY pipeline_id, pipeline_name
) AS before
JOIN
(
SELECT
u.usage_metadata.dlt_pipeline_id AS pipeline_id,
p.name AS pipeline_name,
SUM(u.usage_quantity) AS after_dbus
FROM system.billing.usage u
JOIN system.lakeflow.pipelines p
ON u.usage_metadata.dlt_pipeline_id = p.pipeline_id
WHERE
u.billing_origin_product = 'LAKEFLOW_CONNECT'
AND u.usage_date >= DATE_SUB(NOW(), 30)
GROUP BY pipeline_id, pipeline_name
) AS after
ON before.pipeline_id = after.pipeline_id
WHERE after_dbus > before_dbus
ORDER BY growth_rate DESC

Calcule o custo em dólares do uso no mês anterior.

Esta consulta combina dados de utilização com preços de tabela para calcular o custo aproximado em dólares para gerenciar o pipeline de ingestão. O custo real pode variar ligeiramente dependendo do account e dos benefícios que você possui.

SQL
SELECT
DATE_TRUNC('day', u.usage_date) AS usage_day,
SUM(u.usage_quantity * lp.pricing.effective_list.default) AS estimated_cost
FROM system.billing.usage u
JOIN system.billing.list_prices lp
ON lp.sku_name = u.sku_name
WHERE
u.billing_origin_product = 'LAKEFLOW_CONNECT'
AND u.usage_end_time >= lp.price_start_time
AND (lp.price_end_time IS NULL OR u.usage_end_time < lp.price_end_time)
AND u.usage_date >= ADD_MONTHS(DATE_TRUNC('month', CURRENT_DATE), -1)
AND u.usage_date < DATE_TRUNC('month', CURRENT_DATE)
GROUP BY usage_day
ORDER BY usage_day ASC

Quais catálogos e esquemas de destino têm os custos de ingestão mais elevados?

Esta consulta agrega os custos pipeline de ingestão de gerenciamento por catálogo de destino e esquema. Use isso para entender onde os dados ingeridos estão sendo armazenados e quais destinos têm os custos de ingestão mais elevados.

SQL
SELECT
usage_metadata.uc_table_catalog AS catalog_name,
usage_metadata.uc_table_schema AS schema_name,
COUNT(DISTINCT usage_metadata.dlt_pipeline_id) AS pipeline_count,
SUM(usage_quantity) AS total_dbus
FROM system.billing.usage
WHERE
billing_origin_product = 'LAKEFLOW_CONNECT'
AND usage_metadata.uc_table_catalog IS NOT NULL
AND usage_date >= DATE_SUB(NOW(), 30)
GROUP BY catalog_name, schema_name
ORDER BY total_dbus DESC

Recursos adicionais