Delen via


hll_merge() (aggregatiefunctie)

Van toepassing op: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel-

Hiermee worden de HLL-resultaten in de groep samengevoegd tot één HLL-waarde.

Notitie

U kunt geen hll-waarden samenvoegen die zijn gemaakt met behulp van verschillende nauwkeurigheidswaarden. Zie hll()voor meer informatie.

Notitie

Deze functie wordt gebruikt in combinatie met de operator summarize.

Zie het onderliggende algoritme (HyperLogLog) en schattingsnauwkeurigheidvoor meer informatie.

Syntaxis

hll_merge ( hll-)

Meer informatie over syntaxisconventies.

Parameters

Naam Type Vereist Beschrijving
hll- string ✔️ De kolomnaam met HLL-waarden die moeten worden samengevoegd.

Retourneert

De functie retourneert de samengevoegde HLL-waarden van hll- in de groep.

Notitie

  • De resultaten van hll(), hll_if() en hll_merge() kunnen worden opgeslagen en later worden opgehaald. U kunt bijvoorbeeld een dagelijks uniek gebruikersoverzicht maken, dat vervolgens kan worden gebruikt om wekelijkse aantallen te berekenen. De exacte binaire weergave van deze resultaten kan echter na verloop van tijd veranderen. Er is geen garantie dat deze functies identieke resultaten produceren voor identieke invoer, en daarom raden we u niet aan om erop te vertrouwen.
  • Gebruik de functie dcount_hll om de dcount te berekenen van hll() en hll_merge() aggregatiefuncties.

Voorbeeld

In het volgende voorbeeld ziet u de HLL-resultaten in een groep die is samengevoegd met één HLL-waarde.

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

uitvoer

In de resultaten worden alleen de eerste vijf resultaten in de matrix weergegeven.

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

Nauwkeurigheid van schatting

Deze functie maakt gebruik van een variant van het HyperLogLog-algoritme (HLL), waarmee een stochastische schatting van de setkardinaliteit wordt uitgevoerd. Het algoritme biedt een 'knop' die kan worden gebruikt om de nauwkeurigheid en uitvoeringstijd per geheugengrootte te verdelen:

Nauwkeurigheid Fout (%) Aantal vermeldingen
0 1.6 212
1 0.8 214
2 0.4 216
3 0.28 217
4 0.2 218

Notitie

De kolom Aantal vermeldingen is het aantal 1-bytetellers in de HLL-implementatie.

Het algoritme bevat enkele voorzieningen voor het uitvoeren van een perfecte telling (nulfout), als de setkardinaliteit klein genoeg is:

  • Wanneer het nauwkeurigheidsniveau wordt 1, worden 1000 waarden geretourneerd
  • Wanneer het nauwkeurigheidsniveau wordt 2, worden 8000 waarden geretourneerd

De foutgrens is probabilistisch, niet een theoretische gebonden. De waarde is de standaarddeviatie van foutverdeling (de sigma) en 99,7% van de schattingen hebben een relatieve fout van minder dan 3 x sigma.

In de volgende afbeelding ziet u de kansverdelingsfunctie van de relatieve schattingsfout, in percentages, voor alle ondersteunde nauwkeurigheidsinstellingen:

Grafiek met de hll-foutverdeling.