hash()

Giriş değeri için bir karma değer döndürür.

Not

  • işlevi, xxhash64 algoritmasını kullanarak karmaları hesaplar, ancak bu değişebilir. Bu işlevin yalnızca tek bir sorgu içinde kullanılması önerilir.
  • Birleştirilmiş karmayı kalıcı hale getirmek istiyorsanız hash_sha256(), hash_sha1() veya hash_md5() kullanmanız ve karmaları bit düzeyinde işleçle birleştirmeniz önerilir. Bu işlevlerin hesaplanması değerinden daha hash()karmaşıktır.

Syntax

hash(source [,mod])

Söz dizimi kuralları hakkında daha fazla bilgi edinin.

Parametreler

Ad Tür Gerekli Açıklama
Kaynak Skalar ✔️ Karma oluşturulacak değer.
mod int Çıktı değerinin ile mod - 1arasında 0 olması için karma sonucuna uygulanacak bir mod değeri. Bu parametre, olası çıkış değerleri aralığını sınırlamak veya karma işlevinin çıkışını daha küçük bir aralıkta sıkıştırmak için kullanışlıdır.

Döndürülenler

Kaynağın karma değeri. Mod belirtilirse işlev mod değerini mod modulo karma değerini döndürür; başka bir deyişle işlevin çıkışı mod tarafından bölünen karma değerin geri kalanı olur. Çıkış ile mod - 1arasında 0 (dahil) bir değer olacaktır.

Örnekler

Dize girişi

print result=hash("World")
sonuç
1846988464401551951

Mod ile dize girişi

print result=hash("World", 100)
sonuç
51

Tarih saat girişi

print result=hash(datetime("2015-01-01"))
sonuç
1380966698541616202

Veri dağıtımlarını denetlemek için karma kullanma

hash() Sütunlarından birindeki değerler tekdüzen dağıtılmışsa verileri örneklemek için işlevini kullanın. Aşağıdaki örnekte StartTime değerleri tekdüzen olarak dağıtılır ve işlevi verilerin %10'unda sorgu çalıştırmak için kullanılır.

StormEvents 
| where hash(StartTime, 10) == 0
| summarize StormCount = count(), TypeOfStorms = dcount(EventType) by State 
| top 5 by StormCount desc