Pular para o conteúdo
Lucas Lessa
Voltar para as notícias
DatabricksGAImpacto: Médio

Agrupe timestamps em intervalos personalizados com a função time_bucket

A função time_bucket agrupa timestamps em intervalos de largura fixa alinhados a uma origem personalizada, ideal para análises fora do calendário padrão.

O que mudou

Para que serve

Imagine que você precisa analisar dados de sensores a cada 15 minutos ou agrupar métricas financeiras usando uma âncora de tempo personalizada que não coincide com o início do mês civil.

  • Criar intervalos de tempo personalizados como 15 minutos, 1 hora ou 3 meses.
  • Definir uma âncora de tempo arbitrária para o alinhamento da grade.
  • Substituir o date_trunc quando a largura do intervalo não for uma unidade padrão de calendário.

Como usar

SELECT time_bucket(INTERVAL '15' MINUTE, TIMESTAMP '2024-01-01 11:27:00');

O que acontece nesse código:

  1. A função recebe o intervalo de 15 minutos e o timestamp de entrada.
  2. Calcula o início do intervalo semi-aberto que contém o timestamp.
  3. Retorna o timestamp alinhado ao limite inferior do bucket.
SELECT time_bucket(INTERVAL '1' HOUR, TIMESTAMP '2024-01-01 11:27:00', TIMESTAMP '1970-01-01 00:05:00');

O que acontece nesse código:

  1. A função define o tamanho do intervalo em 1 hora.
  2. Aplica uma origem customizada para deslocar o alinhamento dos buckets em 5 minutos.
  3. Retorna o início do bucket ajustado para a nova âncora.

O que retorna

CampoDescrição
TIMESTAMP ou TIMESTAMP_NTZO início do intervalo de tempo de largura fixa que contém o timestamp de entrada.

Limitações e requisitos

Disponível no Databricks SQL e Databricks Runtime 19 e superior. O parâmetro bucketSize deve ser um intervalo positivo e não nulo. O argumento origin opcional deve ser do mesmo tipo do timestamp de entrada.

Como aplicar num pipeline

Use essa função em consultas SQL na camada Silver ou Gold para padronizar timestamps em janelas de tempo customizadas antes de realizar agregações e análises de séries temporais.

Ver nota oficial do Databricks

time_bucket SQL function aligns timestamps to fixed-width time buckets

Resumo e explicação gerados por IA a partir da release note oficial. Em caso de dúvida, a documentação oficial da plataforma prevalece.

Relacionadas