hll_merge() (aggregatiefunctie)
Van toepassing op: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft 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:
Verwante inhoud
- Aggregatiefunctietypen in één oogopslag
- hll() en tdigest() gebruiken
- hll() (aggregatiefunctie)
- hll_if() (aggregatiefunctie)