Udostępnij za pośrednictwem


hll_merge() (funkcja agregacji)

Dotyczy: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Scala wyniki HLL w grupie w jedną wartość HLL.

Uwaga

Nie można scalić wartości hll utworzonych przy użyciu różnych wartości dokładności. Aby uzyskać więcej informacji, zobacz hll().

Uwaga

Ta funkcja jest używana w połączeniu z operatorem podsumowania.

Aby uzyskać więcej informacji, zobacz algorytm bazowy (HyperL ogLog) i dokładność szacowania.

Ważne

Wyniki hll(), hll_if() i hll_merge() można przechowywać i pobierać później. Możesz na przykład utworzyć codzienne, unikatowe podsumowanie użytkowników, które następnie może służyć do obliczania liczby tygodni. Jednak dokładna reprezentacja binarna tych wyników może ulec zmianie w czasie. Nie ma gwarancji, że te funkcje będą produkować identyczne wyniki dla identycznych danych wejściowych i dlatego nie zalecamy polegania na nich.

Składnia

hll_merge(Hll)

Dowiedz się więcej na temat konwencji składni.

Parametry

Nazwisko Type Wymagania opis
Hll string ✔️ Nazwa kolumny zawierająca wartości HLL do scalenia.

Zwraca

Funkcja zwraca scalone wartości HLL hll w grupie.

Napiwek

Użyj funkcji dcount_hll, aby obliczyć dcount funkcje agregacji z hll() i hll_merge().

Przykład

W poniższym przykładzie przedstawiono wyniki HLL w grupie scalonej z pojedynczą wartością HLL.

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

Wyjście

Wyniki pokazują tylko pięć pierwszych wyników w tablicy.

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

Dokładność szacowania

Ta funkcja używa wariantu algorytmu HyperLogLog (HLL), który wykonuje stochastyczne oszacowanie kardynalności zestawu. Algorytm udostępnia "pokrętło", które może służyć do równoważenia dokładności i czasu wykonywania na rozmiar pamięci:

Dokładność Błąd (%) Liczba pozycji
0 1.6 212
1 0,8 214
2 0,4 216
3 0,28 217
100 0,2 218

Uwaga

Kolumna "liczba wpisów" jest liczbą liczników 1 bajtów w implementacji HLL.

Algorytm zawiera pewne przepisy dotyczące wykonywania doskonałej liczby (błąd zerowy), jeśli kardynalność zestawu jest wystarczająco mała:

  • Gdy poziom dokładności to 1, zwracane są wartości 1000
  • Gdy poziom dokładności to 2, zwracane są wartości 8000

Granica błędu jest probabilistyczna, a nie teoretyczna granica. Wartość jest odchyleniem standardowym rozkładu błędów (sigma), a 99,7% oszacowań będzie miało względny błąd poniżej 3 x sigma.

Na poniższej ilustracji przedstawiono funkcję rozkładu prawdopodobieństwa błędu szacowania względnego w procentach dla wszystkich obsługiwanych ustawień dokładności:

Wykres przedstawiający rozkład błędów hll.