approx_top_k aggregate, funkcja

Zwraca najczęściej występujące wartości elementów w ciągu wraz z kexpr ich przybliżonymi liczbami.

Od:Databricks Runtime 10.2

Składnia

approx_top_k(expr[, k[, maxItemsTracked]])

Argumenty

  • expr: wyrażenie typu STRING, BOOLEAN, DATE, TIMESTAMP lub numerycznego.
  • k: opcjonalny literał INTEGER większy niż 0. Jeśli k nie zostanie określony, wartość domyślna to 5 .
  • maxItemsTracked: opcjonalny literał INTEGER większy niż lub równy k . Jeśli maxItemsTracked nie zostanie określony, wartość domyślna to 10000 .

Zwraca

Wyniki są zwracane jako TABLICA typu STRUCT, gdzie każda struktura zawiera pole dla wartości (z oryginalnym typem danych wejściowych) i pole (typu LONG) z przybliżoną liczbą itemcount wystąpień. Tablica jest sortowana count malejąco.

Funkcja agregowania zwraca najczęściej występujące wartości elementów w wyrażeniu kexpr wraz z ich przybliżonymi liczbami. Błąd w każdej liczbie może być do miejsca, w którym 2.0 * numRows / maxItemsTrackednumRows jest łączna liczba wierszy. Wyższe wartości maxItemsTracked zapewniają lepszą dokładność kosztem zwiększonego użycia pamięci. Wyrażenia, które mają mniej niż maxItemsTracked odrębne elementy, dają dokładną liczbę elementów. Wyniki zawierają NULL wartości jako własny element w wynikach.

Przykłady

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