Este tópico explica como executar operações de agregação para análise de dados. Essas operações calculam valores mínimos, máximos, somas, médias, contagens, contagens distintas e percentis. É possível agrupar os resultados por valor de campo, intervalo, localização geográfica, filtros, histogramas ou datas, além de executar consultas aninhadas para analisar as linhas de cada grupo. Também é permitido combinar várias operações de agregação para criar consultas mais complexas.
Procedimento
A figura a seguir ilustra o procedimento completo de agregação.

O servidor consulta os dados que atendem às condições especificadas e executa a agregação com base na solicitação. Por isso, solicitações que exigem agregação têm processamento mais complexo do que aquelas sem essa necessidade.
Recursos
A agregação oferece diversos recursos semelhantes às funções SQL, como MIN() para obter o valor mínimo, MAX() para o valor máximo, SUM() para a soma, AVG() para a média, COUNT() para contar linhas, COUNT(DISTINCT) para contar valores distintos, ANY_VALUE() para consultar linhas obtidas dos resultados de agregação em cada grupo e GROUP BY para agrupar resultados. Além disso, você pode obter estatísticas de percentil, agrupar resultados por valor de campo, intervalo, localização geográfica, filtro, histograma ou histograma de data, agrupar com base em vários campos e realizar consultas aninhadas. A tabela a seguir descreve esses recursos.
|
Recurso |
Descrição |
|
Valor mínimo |
Retorna o valor mínimo de um campo. Funciona de maneira semelhante à função MIN do SQL. |
|
Valor máximo |
Retorna o valor máximo de um campo. Funciona de maneira semelhante à função MAX do SQL. |
|
Soma |
Retorna a soma de todos os valores de um campo numérico. Funciona de maneira semelhante à função SUM do SQL. |
|
Valor médio |
Retorna a média de todos os valores de um campo numérico. Funciona de maneira semelhante à função AVG do SQL. |
|
Contagem |
Retorna o número total de valores de um campo ou o total de linhas em um índice de pesquisa. Funciona de maneira semelhante à função COUNT do SQL. |
|
Contagem distinta |
Retorna o número de valores distintos de um campo. Funciona de maneira semelhante à função COUNT(DISTINCT) do SQL. |
|
Estatísticas de percentil |
Um valor de percentil indica a posição relativa de um valor dentro de um conjunto de dados. Por exemplo, ao coletar estatísticas sobre o tempo de resposta de cada requisição durante a operação e manutenção (O&M) rotineira do sistema, analise a distribuição do tempo de resposta usando percentis como p25, p50, p90 e p99. |
|
Agrupamento por valor de campo |
Agrupa os resultados da consulta com base nos valores dos campos. Valores idênticos são reunidos no mesmo grupo. O sistema retorna o valor de cada grupo e a quantidade de ocorrências desse valor. |
|
Aninhamento em GroupBy |
O GroupBy suporta aninhamento. Use esse recurso para executar subagregações. |
|
Agrupamento por vários campos |
Agrupa os resultados da consulta com base em múltiplos campos. Tokens permitem realizar paginação. |
|
Agrupamento por intervalo |
Agrupa os resultados da consulta com base em intervalos de valores de um campo. Valores dentro de um intervalo específico formam um grupo. O sistema retorna a quantidade de valores em cada intervalo. |
|
Agrupamento por localização geográfica |
Agrupa os resultados da consulta com base na distância entre locais geográficos e um ponto central. Resultados dentro de faixas de distância específicas formam grupos. O sistema retorna a quantidade de valores em cada faixa. |
|
Agrupamento por filtro |
Filtra os resultados da consulta e os agrupa para obter a quantidade de correspondências de cada filtro. Os resultados seguem a ordem de definição dos filtros. |
|
Consulta por histograma |
Agrupa os resultados da consulta com base em intervalos de dados específicos. Valores de campo dentro do mesmo intervalo formam um grupo. O sistema retorna o intervalo de valores e a quantidade de itens de cada grupo. |
|
Consulta por histograma de data |
Agrupa os resultados da consulta com base em intervalos de data específicos. Valores de campo dentro do mesmo intervalo formam um grupo. O sistema retorna o intervalo de valores e a quantidade de itens de cada grupo. |
|
Consulta das linhas obtidas dos resultados de agregação em cada grupo |
Após agrupar os resultados da consulta, consulte as linhas de cada grupo. Este método funciona de maneira semelhante à função ANY_VALUE(campo) do MySQL. |
|
Múltiplas agregações |
Execute várias operações de agregação simultaneamente. Nota
A execução simultânea de múltiplas agregações complexas pode demandar muito tempo de processamento. |
Pré-requisitos
Uma instância OTSClient inicializada. Para mais informações, consulte Inicializar uma instância OTSClient.
Uma tabela de dados criada e preenchida. Para mais informações, consulte Criar tabelas de dados e Gravar dados.
Um índice de pesquisa criado para a tabela de dados. Para mais informações, consulte Criar índices de pesquisa.