Descrição
State
pode ser aplicado à função avg
para gerar um estado intermediário do tipo AggregateFunction(avg, T), em que
T é o tipo especificado para a média.
Exemplo de uso
AggregateFunction,
junto com a função avgState, para agregar dados de tráfego de um site.
Primeiro, crie a tabela de origem para os dados de tráfego do site:
avg não pode usar o tipo SimpleAggregateFunction, pois requer um estado complexo
(uma soma e uma contagem). Por isso, usamos o tipo AggregateFunction:
page_performance:
avg_response_time é do tipo AggregateFunction(avg, UInt32)
e armazena informações de estado intermediário. Note também que os dados da linha referentes a
avg_response_time não são úteis e que aparecem caracteres estranhos como
�, n, F, }. Isso é uma tentativa do terminal de exibir dados binários como texto.
O motivo é que os tipos AggregateFunction armazenam seu estado em um
formato binário otimizado para armazenamento e processamento eficientes, e não para
legibilidade humana. Esse estado binário contém todas as informações necessárias para
calcular a média.
Para utilizá-lo, use o combinador Merge: