Aracılığıyla paylaş


hll() (toplama işlevi)

Şunlar için geçerlidir: ✅Microsoft Fabric✅Azure Veri Gezgini Azure İzleyiciMicrosoft 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.

Not

Bu işlev summarize işleciyle birlikte kullanılır.

İpucu

Ö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 11000 değer döndürülür
  • Doğruluk düzeyi olduğunda 28000 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:

Hll hata dağılımını gösteren grafik.