Share via


hash()

Retourneert een hash-waarde voor de invoerwaarde.

Notitie

  • De functie berekent hashes met behulp van het xxhash64-algoritme, maar dit kan veranderen. Het is raadzaam om deze functie alleen binnen één query te gebruiken.
  • Als u een gecombineerde hash wilt behouden, is het raadzaam om hash_sha256(), hash_sha1() of hash_md5() te gebruiken en de hashes te combineren met een bitwise-operator. Deze functies zijn complexer om te berekenen dan hash().

Syntax

hash(bron [,mod])

Meer informatie over syntaxisconventies.

Parameters

Naam Type Vereist Beschrijving
bron Scalaire ✔️ De waarde die moet worden gehasht.
Mod int Een modulo-waarde die moet worden toegepast op het hash-resultaat, zodat de uitvoerwaarde tussen 0 en mod - 1ligt. Deze parameter is handig voor het beperken van het bereik van mogelijke uitvoerwaarden of voor het comprimeren van de uitvoer van de hash-functie in een kleiner bereik.

Retouren

De hash-waarde van de bron. Als mod is opgegeven, retourneert de functie de hash-waarde modulo de waarde van mod, wat betekent dat de uitvoer van de functie de rest van de hash-waarde is gedeeld door mod. De uitvoer is een waarde tussen 0 en mod - 1, inclusief.

Voorbeelden

Tekenreeksinvoer

print result=hash("World")
result
1846988464401551951

Tekenreeksinvoer met mod

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

Datum/tijd-invoer

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

Hash gebruiken om de gegevensdistributie te controleren

Gebruik de hash() functie voor het nemen van steekproeven van gegevens als de waarden in een van de kolommen uniform zijn verdeeld. In het volgende voorbeeld worden StartTime-waarden uniform verdeeld en wordt de functie gebruikt om een query uit te voeren op 10% van de gegevens.

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