hash()

Gibt einen Hashwert für den Eingabewert zurück.

Hinweis

  • Die Funktion berechnet Hashes mithilfe des Algorithmus xxhash64, dies kann sich jedoch ändern. Es wird empfohlen, diese Funktion nur innerhalb einer einzelnen Abfrage zu verwenden.
  • Wenn Sie einen kombinierten Hash beibehalten müssen, empfiehlt es sich, hash_sha256(), hash_sha1()oder hash_md5() zu verwenden und die Hashes mit einem bitweisen Operator zu kombinieren. Diese Funktionen sind komplexer zu berechnen als hash().

Syntax

hash(Source [,mod])

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Typ Erforderlich BESCHREIBUNG
source Skalar ✔️ Der wert, der gehasht werden soll.
mod int Ein modulo-Wert, der auf das Hashergebnis angewendet werden soll, sodass der Ausgabewert zwischen 0 und liegt mod - 1. Dieser Parameter ist nützlich, um den Bereich möglicher Ausgabewerte einzuschränken oder die Ausgabe der Hashfunktion in einen kleineren Bereich zu komprimieren.

Gibt zurück

Der Hashwert der Quelle. Wenn mod angegeben ist, gibt die Funktion den Hashwert zurück, der den Wert von mod ändert, was bedeutet, dass die Ausgabe der Funktion der rest des Hashwerts dividiert durch mod ist. Die Ausgabe ist ein Wert zwischen 0 und mod - 1, einschließlich.

Beispiele

Zeichenfolgeneingabe

print result=hash("World")
result
1846988464401551951

Zeichenfolgeneingabe mit Mod

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

Datetime-Eingabe

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

Verwenden von Hash zum Überprüfen der Datenverteilung

Verwenden Sie die hash() Funktion zum Sampling von Daten, wenn die Werte in einer ihrer Spalten gleichmäßig verteilt sind. Im folgenden Beispiel werden StartTime-Werte einheitlich verteilt, und die Funktion wird verwendet, um eine Abfrage für 10 % der Daten auszuführen.

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