Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
funktion
Gäller för:
Databricks Runtime 18.1 och senare
Returnerar de vanligaste K-objekten med deras uppskattade antal från ett skisstillstånd som produceras av approx_top_k_accumulate eller approx_top_k_combine.
Syntax
approx_top_k_estimate ( state [, k ] )
Arguments
-
tillstånd: Ett skisstillstånd
STRUCT(till exempel från approx_top_k_accumulate eller approx_top_k_combine). -
k: En valfri positiv
INTEGERliteral som anger antalet översta objekt som ska returneras. Måste vara större än 0 och mindre än eller lika medmaxItemsTrackedindataskissen. Standardvärdet är 5.
Retur
En ARRAY av STRUCT värden, där varje struct innehåller:
- item: Värdet för frekventa objekt (samma typ som det ursprungliga indatauttrycket)
-
count:
LONG– det uppskattade frekvensantalet
Matrisen sorteras efter antal i fallande ordning.
Noteringar
- Parametern
kmåste vara ett konstant värde. - Värdet
kfår inte överskrida värdet förmaxItemsTrackedindataskissen. -
NULLvärden inkluderas i resultat när de är bland de vanligaste K:na. - Frekvensantalet är uppskattningar. exakthet beror på vilken
maxItemsTrackedparameter som används när skissen skapas.
Felmeddelanden
Exempel
-- Get default top-5 items
> SELECT approx_top_k_estimate(approx_top_k_accumulate(expr)) FROM VALUES (0), (0), (1), (1), (2), (3), (4), (4) AS tab(expr);
[{"item":0,"count":2},{"item":4,"count":2},{"item":1,"count":2},{"item":2,"count":1},{"item":3,"count":1}]
-- Get top-2 items
> SELECT approx_top_k_estimate(approx_top_k_accumulate(expr), 2) FROM VALUES ('a'), ('b'), ('c'), ('c'), ('c'), ('c'), ('d'), ('d') AS tab(expr);
[{"item":"c","count":4},{"item":"d","count":2}]
-- Results include NULL when it is among top K
> SELECT approx_top_k_estimate(approx_top_k_accumulate(expr), 3) FROM VALUES (0), (0), (1), (1), (1), (NULL) AS tab(expr);
[{"item":1,"count":3},{"item":0,"count":2},{"item":null,"count":1}]