hll() (toplama işlevi)
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 (HyperLogLog) ve tahmin doğruluğu hakkında bilgi edinin.
Not
Bu işlev summarize işleciyle birlikte kullanılır.
İ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şlevini kullanın.hll_merge
Ö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üvenmeyi önermiyoruz.
Syntax
hll
(
ifade [,
doğruluk])
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
Ad | Tür | Gerekli | Açıklama |
---|---|---|---|
ifade | string |
✔️ | Toplama hesaplaması için kullanılan ifade. |
Doğru -luk | int |
Hız ve doğruluk arasındaki dengeyi denetleen değer. Belirtilmemişse, varsayılan değer olur 1 . Desteklenen değerler için bkz. Tahmin doğruluğu. |
Döndürülenler
Grup genelindeki farklı ifade sayısının ara sonuçlarını döndürür.
Örnek
Aşağıdaki örnekte işlevi, sütunun hll()
her 10 dakikalık zaman kutusu içinde 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, küme kardinalitesi stochastic tahmini 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 algoritma, mükemmel bir sayı (sıfır hatası) yapmak için bazı hükümler içerir:
- 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'si 3 x sigma'nın altında göreli bir hataya sahip 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österilir:
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin