hash()

Retourne une valeur de hachage pour la valeur d’entrée.

Notes

  • La fonction calcule les hachages à l’aide de l’algorithme xxhash64, mais cela peut changer. Il est recommandé d’utiliser cette fonction uniquement dans une requête unique.
  • Si vous devez conserver un hachage combiné, il est recommandé d’utiliser hash_sha256(),hash_sha1() ou hash_md5() et de combiner les hachages avec un opérateur au niveau du bit. Ces fonctions sont plus complexes à calculer que hash().

Syntax

hash(source [,mod])

Découvrez les conventions de syntaxe.

Paramètres

Nom Type Obligatoire Description
source scalaire ✔️ Valeur à hacher.
mod int Valeur modulo à appliquer au résultat de hachage, afin que la valeur de sortie soit comprise entre 0 et mod - 1. Ce paramètre est utile pour limiter la plage de valeurs de sortie possibles ou pour compresser la sortie de la fonction de hachage dans une plage plus petite.

Retours

Valeur de hachage de la source. Si mod est spécifié, la fonction retourne la valeur de hachage modulo la valeur de mod, ce qui signifie que la sortie de la fonction sera le reste de la valeur de hachage divisée par mod. La sortie sera une valeur comprise entre 0 et mod - 1, inclus.

Exemples

Entrée de chaîne

print result=hash("World")
result
1846988464401551951

Entrée de chaîne avec mod

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

Entrée Datetime

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

Utiliser le hachage pour case activée la distribution des données

Utilisez la hash() fonction pour les données d’échantillonnage si les valeurs d’une de ses colonnes sont distribuées uniformément. Dans l’exemple suivant, les valeurs StartTime sont distribuées uniformément et la fonction est utilisée pour exécuter une requête sur 10 % des données.

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