- Categorias:
Funções de agregação (Frequency Estimation) , Sintaxe e uso da função de janela
APPROX_TOP_K_ACCUMULATE¶
Retorna o resumo de Space-Saving ao final da agregação. (Para obter mais informações sobre o resumo de Space-Saving, consulte Estimativa de valores frequentes).
A função APPROX_TOP_K descarta seu estado interno intermediário quando a estimativa final de cardinalidade é retornada. Entretanto, em certos casos de uso avançado, tais como a estimativa de valores incrementais frequentes durante o carregamento em massa, você pode querer manter o estado intermediário, caso em que você usaria APPROX_TOP_K_ACCUMULATE em vez de APPROX_TOP_K.
Em comparação com APPROX_TOP_K, APPROX_TOP_K_ACCUMULATE não retorna uma estimativa de frequência dos itens. Em vez disso, ele retorna o próprio estado do algoritmo. O estado intermediário pode ser mais tarde:
Combinado (ou seja, fundido) com estados intermediários de lotes de dados separados, mas relacionados.
Processado por outras funções que operam diretamente no estado intermediário, por exemplo, APPROX_TOP_K_ESTIMATE. (Para um exemplo, consulte a seção de exemplos abaixo.)
Exportado para ferramentas externas.
- Consulte também:
Sintaxe¶
Argumentos¶
exprA expressão (por exemplo, nome da coluna) para a qual você quer encontrar os valores mais comuns.
countersEste é o número máximo de valores distintos que podem ser rastreados de cada vez durante o processo de estimativa.
Por exemplo, se
countersestiver definido como 100000, então o algoritmo rastreia 100.000 valores distintos, tentando manter os 100.000 valores mais frequentes.O número máximo de
countersé100000(100.000).
Notas de uso¶
Os valores decimais flutuantes (DECFLOAT) não são compatíveis.
Exemplos¶
Este exemplo mostra como usar as três funções relacionadas APPROX_TOP_K_ACCUMULATE, APPROX_TOP_K_ESTIMATE e APPROX_TOP_K_COMBINE.
Nota
Este exemplo utiliza mais contadores do que valores de dados distintos para obter resultados consistentes. Em aplicações do mundo real, o número de valores distintos é geralmente maior do que o número de contadores, portanto, as aproximações podem variar.
Este exemplo gera uma tabela com 8 linhas que possuem valores 1 - 8, e uma segunda tabela com 8 linhas que têm valores 5 - 12. Assim, os valores mais frequentes na união das duas tabelas são os valores 5-8, cada um deles com uma contagem de 2.
Criar uma tabela e dados simples:
Create a table that contains the «state» that represents the current
approximate Top K information for the table named sequence_demo:
Now create a second table and add data. (In a more realistic situation, the user could have loaded more data into the first table and divided the data into non-overlapping sets based on the time that the data was loaded.)
Obtenha as informações de “estado” apenas para os novos dados.
Combine as informações de “estado” para os dois lotes de linhas:
Obtenha o valor aproximado do Top K do conjunto combinado de linhas: