Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Přepněte služby pomocí rozevíracího seznamu Verze . Přečtěte si další informace o navigaci.
Platí pro: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Funkce hll() představuje způsob, jak odhadnout počet jedinečných hodnot v sadě hodnot. To provede výpočtem průběžných výsledků pro agregaci v rámci sumarizovat operátor pro skupinu dat pomocí funkce dcount.
Přečtěte si o základním algoritmu (HyperLogLog) a o přesnosti odhadu.
Syntaxe
hll
(
výraz [,přesnost])
Přečtěte si další informace o konvencích syntaxe.
Parametry
| Název | Typ | Požadováno | Popis |
|---|---|---|---|
| výraz | string |
✔️ | Výraz použitý pro výpočet agregace. |
| přesnost | int |
Hodnota, která řídí rovnováhu mezi rychlostí a přesností. Pokud není zadáno, výchozí hodnota je 1. Podporované hodnoty najdete v tématu Přesnost odhadu. |
Návraty
Vrátí mezilehlé výsledky jedinečného počtu výrazů ve skupině.
Poznámka:
- Výsledky hll(), hll_if() a hll_merge() je možné uložit a později načíst. Můžete například chtít vytvořit denní jedinečný souhrn uživatelů, který se pak dá použít k výpočtu týdenních počtů. Přesné binární znázornění těchto výsledků se ale může v průběhu času změnit. Neexistuje žádná záruka, že tyto funkce vytvářejí identické výsledky pro identické vstupy, a proto nedoporučujeme spoléhat se na ně.
-
Pomocí funkce hll_merge sloučíte výsledky více
hll()funkcí. -
Pomocí funkce dcount_hll můžete vypočítat počet jedinečných hodnot z výstupu
hll()nebohll_mergefunkcí.
Příklad
V následujícím příkladu se hll() funkce používá k odhadu počtu jedinečných hodnot DamageProperty sloupce v intervalu 10 minut StartTime ve sloupci.
StormEvents
| summarize hll(DamageProperty) by bin(StartTime,10m)
výstupní
Zobrazená tabulka výsledků obsahuje pouze prvních 10 řádků.
| Počáteční čas | 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"],[]] |
Přesnost odhadu
Tato funkce používá variantu algoritmu HyperLogLog (HLL), který provede stochastický odhad kardinality sady. Algoritmus poskytuje "knoflík", který lze použít k vyvážení přesnosti a doby provádění na velikost paměti:
| Přesnost | Chyba (%) | Počet položek |
|---|---|---|
| 0 | 1.6 | 212 |
| 0 | 0,8 | 214 |
| 2 | 0,4 | 216 |
| 3 | 0,28 | 217 |
| 4 | 0,2 | 218 |
Poznámka:
Sloupec "entry count" je počet čítačů 1 bajtů v implementaci HLL.
Algoritmus obsahuje některá ustanovení pro dosažení dokonalého počtu (nula chyb), pokud je nastavená kardinalita dostatečně malá:
- Pokud je
1úroveň přesnosti , vrátí se 1 000 hodnot. - Pokud je
2úroveň přesnosti , vrátí se 8 000 hodnot.
Svázaná chyba je pravděpodobnostní, nikoli teoretická mez. Hodnota je směrodatná odchylka rozdělení chyb (sigma) a 99,7 % odhadů bude mít relativní chybu pod 3 x sigma.
Následující obrázek znázorňuje funkci rozdělení pravděpodobnosti relativní chyby odhadu v procentech pro všechna podporovaná nastavení přesnosti:
Související obsah
- typy funkcí agregace na první pohled
- použití hll() a tdigest()
- hll_if() (agregační funkce)
- hll_merge() (agregační funkce)