Delen via


hll_merge()

Hiermee worden HLL-resultaten samengevoegd. Dit is de scalaire versie van de aggregatieversie hll_merge().

Lees meer over het onderliggende algoritme (HyperLogL og Log) en schattingsnauwkeurigheid.

Belangrijk

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 in de loop van de tijd veranderen. Er is geen garantie dat deze functies identieke resultaten produceren voor identieke invoer, en daarom raden we niet aan erop te vertrouwen.

Syntax

hll_merge(hll,hll2, [ hll3, ... ])

Meer informatie over syntaxisconventies.

Parameters

Naam Type Vereist Beschrijving
hll, hll2, ... string ✔️ De kolomnamen met HLL-waarden die moeten worden samengevoegd. De functie verwacht tussen 2 en 64 argumenten.

Retouren

Retourneert één HLL-waarde. De waarde is het resultaat van het samenvoegen van de kolommen hll, hll2, ... hllN.

Voorbeelden

In dit voorbeeld ziet u de waarde van de samengevoegde kolommen.

range x from 1 to 10 step 1 
| extend y = x + 10
| summarize hll_x = hll(x), hll_y = hll(y)
| project merged = hll_merge(hll_x, hll_y)
| project dcount_hll(merged)

Uitvoer

dcount_hll_merged
20

Schattingsnauwkeurigheid

Deze functie maakt gebruik van een variant van het HyperLogLog-algoritme (HLL), waarmee een stochastische schatting van de ingestelde kardinaliteit 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 ingestelde kardinaliteit klein genoeg is:

  • Wanneer het nauwkeurigheidsniveau is, worden 11000 waarden geretourneerd
  • Wanneer het nauwkeurigheidsniveau is, worden 28000 waarden geretourneerd

De foutgrens is probabilistisch, geen theoretische grens. De waarde is de standaarddeviatie van foutverdeling (de sigma) en 99,7% van de schattingen heeft 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 verdeling van de hll-fout.