approx_top_k funzione di aggregazione

Restituisce i valori degli k elementi più frequenti in un expr insieme ai conteggi approssimativi.

Since:Databricks Runtime 10.2

Sintassi

approx_top_k(expr[, k[, maxItemsTracked]]) [FILTER ( WHERE cond ) ]

Argomenti

  • expr: espressione di tipo STRING, BOOLEAN, DATE, TIMESTAMP o numerico.
  • k: valore letterale INTEGER facoltativo maggiore di 0. Se k non viene specificato, per impostazione predefinita è 5.
  • maxItemsTracked: valore letterale INTEGER facoltativo maggiore o uguale a k. Se maxItemsTracked non viene specificato, per impostazione predefinita è 10000.
  • cond: espressione booleana facoltativa che filtra le righe usate per l'aggregazione.

Restituisce

I risultati vengono restituiti come MATRICE di tipo STRUCT, in cui ogni STRUCT contiene un item campo per il valore (con il tipo di input originale) e un count campo (di tipo LONG) con il numero approssimativo di occorrenze. La matrice viene ordinata in base count alla decrescente.

La funzione di aggregazione restituisce i k valori degli elementi più frequenti in un'espressione expr insieme ai conteggi approssimativi. L'errore in ogni conteggio può essere fino al 2.0 * numRows / maxItemsTrackednumRows numero totale di righe. I valori più elevati offrono maxItemsTracked una migliore accuratezza a costo di un utilizzo maggiore della memoria. Le espressioni con meno di maxItemsTracked elementi distinti produrranno conteggi di elementi esatti. I risultati includono NULL valori come propri elementi nei risultati.

Esempio

> 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}]