Dela via


hll_merge() (sammansättningsfunktion)

Gäller för: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Sammanfogar HLL-resultat i gruppen till ett enda HLL-värde.

Not

Du kan inte slå samman hll-värden som har skapats med olika noggrannhetsvärden. Mer information finns i hll().

Not

Den här funktionen används tillsammans med operatorn summarize.

Mer information finns i underliggande algoritm (HyperLogLog) och uppskattningsnoggrannhet.

Syntax

hll_merge ( hll)

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Krävs Beskrivning
hll string ✔️ Kolumnnamnet som innehåller HLL-värden som ska sammanfogas.

Returnerar

Funktionen returnerar de sammanfogade HLL-värdena för hll- i gruppen.

Not

  • Resultatet av hll(), hll_if() och hll_merge() kan lagras och hämtas senare. Du kanske till exempel vill skapa en daglig unik användarsammanfattning som sedan kan användas för att beräkna veckoantal. Den exakta binära representationen av dessa resultat kan dock ändras med tiden. Det finns ingen garanti för att dessa funktioner ger identiska resultat för identiska indata, och därför rekommenderar vi inte att du förlitar oss på dem.
  • Använd funktionen dcount_hll för att beräkna dcount från hll() och hll_merge() aggregeringsfunktioner.

Exempel

I följande exempel visas HLL-resultat i en grupp som sammanfogats till ett enda HLL-värde.

StormEvents
| summarize hllRes = hll(DamageProperty) by bin(StartTime,10m)
| summarize hllMerged = hll_merge(hllRes)

utdata

Resultatet visar endast de fem första resultaten i matrisen.

hllMerged
[[1024,14],["-6903255281122589438","-7413697181929588220","-2396604341988936699","5824198135224880646","-6257421034880415225", ...],[]]

Uppskattningsnoggrannhet

Den här funktionen använder en variant av algoritmen HyperLogLog (HLL), som gör en stokastisk uppskattning av uppsättningens kardinalitet. Algoritmen ger en "knopp" som kan användas för att balansera noggrannhet och körningstid per minnesstorlek:

Noggrannhet Fel (%) Antal poster
0 1.6 212
1 0.8 214
2 0.4 216
3 0.28 217
4 0.2 218

Not

Kolumnen "antal poster" är antalet 1 byte-räknare i HLL-implementeringen.

Algoritmen innehåller vissa bestämmelser för att göra ett perfekt antal (noll fel), om den inställda kardinaliteten är tillräckligt liten:

  • När noggrannhetsnivån är 1returneras 1 000 värden
  • När noggrannhetsnivån är 2returneras 8 000 värden

Felgränsen är probabilistisk, inte en teoretisk bindning. Värdet är standardavvikelsen för felfördelningen (sigma) och 99,7% av uppskattningarna har ett relativt fel på under 3 x sigma.

Följande bild visar sannolikhetsfördelningsfunktionen för det relativa uppskattningsfelet, i procent, för alla noggrannhetsinställningar som stöds:

Graph som visar hll-felfördelningen.