Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:
Databricks SQL
Databricks Runtime 10.4 LTS e superior
Devolve os principais k valores de item que ocorrem com mais frequência em um expr juntamente com suas contagens aproximadas.
Sintaxe
approx_top_k(expr[, k[, maxItemsTracked]]) [FILTER ( WHERE cond ) ]
Esta função também pode ser invocada como uma função de janela usando a cláusula OVER.
Argumentos
-
expr: Uma expressão de STRING, BOOLEANO, DATA, TIMESTAMP, ou de tipo numérico. -
k: Um literal inteiro opcional maior que 0. Seknão for especificado, o padrão será5. -
maxItemsTracked: Um literal inteiro opcional maior ou igual ak. SemaxItemsTrackednão for especificado, o padrão será10000. -
cond: Uma expressão booleana opcional filtrando as linhas usadas para agregação.
Devoluções
Os resultados são retornados como uma ARRAY do tipo STRUCT, onde cada STRUCT contém um item campo para o valor (com seu tipo de entrada original) e um count campo (do tipo LONG) com o número aproximado de ocorrências. A matriz é classificada por count decrescente.
A função de agregação retorna os principais valores de k item que ocorrem com mais freqüência em uma expressão expr , juntamente com suas contagens aproximadas. O erro em cada contagem pode ser até 2.0 * numRows / maxItemsTracked onde numRows está o número total de linhas. Valores mais altos de maxItemsTracked fornecem melhor precisão ao custo de um maior uso de memória.
As expressões que têm menos de maxItemsTracked itens distintos produzirão contagens exatas de itens. Os resultados incluem NULL valores como um item separado nos resultados.
Exemplos
> SELECT approx_top_k(expr) FROM VALUES (0), (0), (1), (1), (2), (3), (4), (4) AS tab(expr);
[{'item':4,'count':2},{'item':1,'count':2},{'item':0,'count':2},{'item':3,'count':1},{'item':2,'count':1}]
> SELECT approx_top_k(expr, 2) FROM VALUES 'a', 'b', 'c', 'c', 'c', 'c', 'd', 'd' AS tab(expr);
[{'item':'c','count',4},{'item':'d','count':2}]
> SELECT approx_top_k(expr, 10, 100) FROM VALUES (0), (1), (1), (2), (2), (2) AS tab(expr);
[{'item':2,'count':3},{'item':1,'count':2},{'item':0,'count':1}]