hash()

Vrátí hodnotu hash pro vstupní hodnotu.

Poznámka

  • Funkce počítá hodnoty hash pomocí algoritmu xxhash64, ale to se může změnit. Tuto funkci doporučujeme používat pouze v rámci jednoho dotazu.
  • Pokud potřebujete zachovat kombinovanou hodnotu hash, doporučujeme použít hash_sha256(),hash_sha1() nebo hash_md5() a zkombinovat je s bitovým operátorem. Výpočet těchto funkcí je složitější než hash()funkce .

Syntax

hash(source [,mod])

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Typ Vyžadováno Popis
Zdroj Skalár ✔️ Hodnota, která má být hashována.
Mod int Hodnota moduluo, která se použije na výsledek hodnoty hash, aby výstupní hodnota byla mezi 0 a mod - 1. Tento parametr je užitečný k omezení rozsahu možných výstupních hodnot nebo ke kompresi výstupu funkce hash do menšího rozsahu.

Návraty

Hodnota hash zdroje. Pokud je zadán mod , funkce vrátí hodnotu hash modulo hodnotu mod, což znamená, že výstupem funkce bude zbytek hodnoty hash děleno mod. Výstupem bude hodnota mezi 0 a ( mod - 1včetně).

Příklady

Řetězcový vstup

print result=hash("World")
result
1846988464401551951

Řetězcový vstup s mod

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

Vstup data a času

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

Použití hodnoty hash ke kontrole distribuce dat

hash() Pokud jsou hodnoty v jednom z jejích sloupců rovnoměrně rozdělené, použijte funkci pro vzorkování dat. V následujícím příkladu jsou hodnoty StartTime rovnoměrně distribuované a funkce se používá ke spuštění dotazu na 10 % dat.

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