hll_merge()

Führt HLL-Ergebnisse zusammen. Dies ist die skalare Version der aggregierten Version hll_merge().

Erfahren Sie mehr über den zugrunde liegenden Algorithmus (HyperLogLog og) und die Schätzgenauigkeit.

Wichtig

Die Ergebnisse von hll(), hll_if() und hll_merge() können gespeichert und später abgerufen werden. Beispielsweise können Sie eine tägliche Zusammenfassung eindeutiger Benutzer erstellen, die dann zum Berechnen der wöchentlichen Anzahl verwendet werden kann. Die genaue binäre Darstellung dieser Ergebnisse kann sich jedoch im Laufe der Zeit ändern. Es gibt keine Garantie, dass diese Funktionen identische Ergebnisse für identische Eingaben erzeugen, und daher raten wir davon ab, sich darauf zu verlassen.

Syntax

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

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Typ Erforderlich BESCHREIBUNG
hll, hll2, ... string ✔️ Die Spaltennamen, die zusammenzuführende HLL-Werte enthalten. Die Funktion erwartet zwischen 2 und 64 Argumente.

Gibt zurück

Gibt einen HLL-Wert zurück. Der Wert ist das Ergebnis der Zusammenführung der Spalten hll, hll2, ... hllN.

Beispiele

Dieses Beispiel zeigt den Wert der zusammengeführten Spalten.

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)

Ausgabe

dcount_hll_merged
20

Schätzgenauigkeit

Diese Funktion verwendet eine Variante des HyperLogLogLog -Algorithmus (HLL), der eine stochastische Schätzung der Setkardinalität durchführt. Der Algorithmus stellt einen „Knopf“ bereit, über den Genauigkeit und Ausführungszeit pro Arbeitsspeichergröße ausgeglichen werden können:

Genauigkeit Fehler (%) Entry count
0 1.6 212
1 0,8 214
2 0.4 216
3 0.28 217
4 0.2 218

Hinweis

Die Spalte „entry count“ ist die Anzahl von 1-Byte-Leistungsindikatoren in der HLL-Implementierung.

Der Algorithmus enthält einige Vorkehrungen für eine perfekte Anzahl (null Fehler), wenn die festgelegte Kardinalität klein genug ist:

  • Wenn die Genauigkeitsgrad 1 ist, werden 1.000 Werte zurückgegeben.
  • Wenn die Genauigkeitsgrad 2 ist, werden 8.000 Werte zurückgegeben.

Die Fehlerbindung ist probabilistisch und keine theoretische Grenze. Der Wert ist die Standardabweichung der Fehlerverteilung (Sigma), und 99,7 % der Schätzungen weisen einen relativen Fehler von unter 3 x Sigma auf.

Die folgende Abbildung zeigt die Wahrscheinlichkeitsverteilungsfunktion des relativen Schätzfehlers in Prozent für alle unterstützten Genauigkeitseinstellungen:

Diagramm, das die hll-Fehlerverteilung zeigt.