hll() (toplama işlevi)
Şunlar için geçerlidir: ✅Microsoft Fabric✅Azure Veri Gezgini✅ Azure İzleyici✅Microsoft Sentinel
hll()
işlevi, bir değer kümesindeki benzersiz değerlerin sayısını tahmin etmenin bir yoludur. Bunu, işlevini kullanarak dcount
bir veri grubu için summarize işleci içinde toplama için ara sonuçları hesaplayarak yapar.
Temel algoritma (HyperLog Log) ve tahmin doğruluğu hakkında bilgi edinin.
İpucu
- Birden çok
hll()
işlevin sonuçlarını birleştirmek için hll_merge işlevini kullanın. - veya işlevlerinin çıkışından
hll()
farklı değerlerin sayısını hesaplamak için dcount_hll işlevinihll_merge
kullanın.
Önemli
hll(), hll_if() ve hll_merge() sonuçları depolanabilir ve daha sonra alınabilir. Örneğin, daha sonra haftalık sayıları hesaplamak için kullanılabilecek günlük benzersiz kullanıcılar özeti oluşturmak isteyebilirsiniz. Ancak, bu sonuçların kesin ikili gösterimi zaman içinde değişebilir. Bu işlevlerin özdeş girişler için aynı sonuçları üretmesi garanti değildir ve bu nedenle bunlara güvenmeniz önerilir.
Sözdizimi
hll
(
expr [,
doğruluk])
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
Ad | Tür | Zorunlu | Açıklama |
---|---|---|---|
ifade | string |
✔️ | Toplama hesaplaması için kullanılan ifade. |
doğruluk | int |
Hız ve doğruluk arasındaki dengeyi denetleen değer. Belirtilmezse, varsayılan değer olur 1 . Desteklenen değerler için bkz . Tahmin doğruluğu. |
Döndürülenler
Grup genelindeki ayrı ifade sayısının ara sonuçlarını döndürür.
Örnek
Aşağıdaki örnekte işlev, sütunun hll()
her 10 dakikalık zaman kutusu içindeki sütunun DamageProperty
benzersiz değerlerinin StartTime
sayısını tahmin etmek için kullanılır.
StormEvents
| summarize hll(DamageProperty) by bin(StartTime,10m)
Gösterilen sonuçlar tablosu yalnızca ilk 10 satırı içerir.
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"],[]] |
Tahmin doğruluğu
Bu işlev, ayarlanmış kardinalitenin stokastik tahminini yapan HyperLogLog (HLL) algoritmasının bir değişkenini kullanır. Algoritma, bellek boyutu başına doğruluk ve yürütme süresini dengelemek için kullanılabilecek bir "düğme" sağlar:
Doğruluk | Hata (%) | Giriş sayısı |
---|---|---|
0 | 1.6 | 212 |
1 | 0.8 | 214 |
2 | 0.4 | 216 |
3 | 0.28 | 217 |
4 | 0,2 | 218 |
Not
"Giriş sayısı" sütunu, HLL uygulamasındaki 1 baytlık sayaçların sayısıdır.
Ayarlanan kardinalite yeterince küçükse, algoritmada mükemmel bir sayı (sıfır hata) yapmaya yönelik bazı hükümler bulunur:
- Doğruluk düzeyi olduğunda
1
1000 değer döndürülür - Doğruluk düzeyi olduğunda
2
8000 değer döndürülür
Hata sınırı olasılıksaldır, teorik bir sınır değildir. Değer, hata dağılımının standart sapmasıdır (sigma) ve tahminlerin %99,7'sinde göreli hata 3 x sigma'nın altında olur.
Aşağıdaki görüntüde, desteklenen tüm doğruluk ayarları için göreli tahmin hatasının olasılık dağılımı işlevi yüzde olarak gösterilmektedir: