hll() (aggregációs függvény)
A hll()
függvény az egyedi értékek számának becslése egy értékkészletben. Ezt úgy teszi, hogy a függvényt használó adatcsoport összesítésének köztes eredményeit számítja ki az dcount
összegző operátoron belül.
Olvassa el a mögöttes algoritmust (HyperLogLog) és a becslés pontosságát.
Megjegyzés
Ezt a függvényt az összegző operátorral együtt használja a rendszer.
Tipp
- A hll_merge függvénnyel egyesítheti több
hll()
függvény eredményeit. - A dcount_hll függvénnyel kiszámíthatja a vagy
hll_merge
függvény kimenetétőlhll()
eltérő értékek számát.
Fontos
A hll(), hll_if() és hll_merge() eredményei tárolhatók és később lekérhetők. Előfordulhat például, hogy létre szeretne hozni egy napi egyedi felhasználói összefoglalót, amely aztán a heti számok kiszámítására használható. Az eredmények pontos bináris ábrázolása azonban idővel változhat. Nincs garancia arra, hogy ezek a függvények azonos eredményeket adnak az azonos bemenetekhez, ezért nem javasoljuk, hogy támaszkodjanak rájuk.
Syntax
hll
(
expr [,
pontosság])
További információ a szintaxis konvenciókról.
Paraméterek
Név | Típus | Kötelező | Leírás |
---|---|---|---|
Kifejezés | string |
✔️ | Az összesítés kiszámításához használt kifejezés. |
Pontosság | int |
A sebesség és a pontosság közötti egyensúlyt szabályozó érték. Ha nincs meghatározva, az alapértelmezett érték a következő 1 : . A támogatott értékekért lásd: Becslés pontossága. |
Válaszok
A csoport különböző kitevőszámának köztes eredményeit adja eredményül.
Példa
Az alábbi példában a függvény az hll()
oszlop egyedi értékeinek számát becsüli meg az DamageProperty
oszlop minden 10 perces időgyűjtőjében StartTime
.
StormEvents
| summarize hll(DamageProperty) by bin(StartTime,10m)
A megjelenített eredménytábla csak az első 10 sort tartalmazza.
StartTime | hll_DamageProperty |
---|---|
2007-01-01T00:20:00Z | [[1024,14],["3803688792395291579"],[]] |
2007-01-01T01:00:00Z | [[1024,14],["7755241107725382121","-5665157283053373866","3803688792395291579","-1003235211361077779"],[]] |
2007-01-01T02:00:00Z | [[1024,14],["-1003235211361077779","-5665157283053373866","7755241107725382121"],[]] |
2007-01-01T02:20:00Z | [[1024,14],["7755241107725382121"],[]] |
2007-01-01T03:30:00Z | [[1024,14],["3803688792395291579"],[]] |
2007-01-01T03:40:00Z | [[1024,14],["-5665157283053373866"],[]] |
2007-01-01T04:30:00Z | [[1024,14],["3803688792395291579"],[]] |
2007-01-01T05:30:00Z | [[1024,14],["3803688792395291579"],[]] |
2007-01-01T06:30:00Z | [[1024,14],["1589522558235929902"],[]] |
Becslés pontossága
Ez a függvény a HyperLogLog (HLL) algoritmus egy variánsát használja, amely a beállított számosság sztochasztikus becslését végzi el. Az algoritmus egy "gombot" biztosít, amellyel kiegyensúlyozni lehet a memóriaméretenkénti pontosságot és végrehajtási időt:
Pontosság | Hiba (%) | Bejegyzésszám |
---|---|---|
0 | 1.6 | 212 |
1 | 0,8 | 214 |
2 | 0,4 | 216 |
3 | 0,28 | 217 |
4 | 0,2 | 218 |
Megjegyzés
A "bejegyzésszám" oszlop az 1 bájtos számlálók száma a HLL-implementációban.
Az algoritmus tartalmaz néhány rendelkezést a tökéletes szám (nulla hiba) elvégzésére, ha a beállított számosság elég kicsi:
- Ha a pontossági szint ,
1
a rendszer 1000 értéket ad vissza - Ha a pontossági szint ,
2
a rendszer 8000 értéket ad vissza
A hibakötés valószínűségi, nem elméleti kötött. Az érték a hibaeloszlás szórása (a szigma), és a becslések 99,7%-a 3 x szigma alatti relatív hibával fog rendelkezni.
Az alábbi képen a relatív becslési hiba valószínűségeloszlási függvénye látható százalékban az összes támogatott pontossági beállítás esetében:
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: