- Categorias:
Funções de agregação (Frequency Estimation) , Sintaxe e uso da função de janela
APPROX_TOP_K_COMBINE¶
Combina (funde) os estados de entrada em apenas um estado de saída.
Isto permite cenários onde APPROX_TOP_K_ACCUMULATE é executado sobre partições horizontais da mesma tabela, produzindo um estado de algoritmo para cada partição da tabela. Estes estados podem ser combinados mais tarde usando APPROX_TOP_K_COMBINE, produzindo o mesmo estado de saída que uma única execução de APPROX_TOP_K_ACCUMULATE sobre toda a tabela.
- Consulte também:
Sintaxe¶
Argumentos¶
stateUma expressão que contém informações de estado geradas por uma chamada para APPROX_TOP_K_ACCUMULATE.
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).
Retornos¶
Isto retorna informações sobre o “estado” do cálculo top K.
This state information is not usually useful by itself, but can be passed to the function APPROX_TOP_K_ESTIMATE.
Notas de uso¶
Se
countersestiver definido, o estado de saída utiliza o número especificado de contadores.Se
countersnão estiver definido, todos os estados de entrada devem ter o mesmo número de contadores.
Os valores decimais flutuantes (DECFLOAT) não são compatíveis.
Exemplos¶
This example shows how to use the three related functions APPROX_TOP_K_ACCUMULATE, APPROX_TOP_K_ESTIMATE, and 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: