Sdílet prostřednictvím


hash()

Vrátí hodnotu hash pro vstupní hodnotu.

Poznámka:

  • Funkce vypočítá hodnoty hash pomocí algoritmu xxhash64, ale může se to 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 kombinovat hodnoty hash s bitovým operátorem. Tyto funkce jsou pro výpočet složitější než hash().

Syntaxe

hash(source [, mod])

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

Parametry

Název Type Požadováno Popis
source skalární ✔️ Hodnota, která má být hashována.
zkratka modulo int Hodnota modulu, 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ý pro omezení rozsahu možných výstupních hodnot nebo pro komprimaci výstupu funkce hash do menšího rozsahu.

Návraty

Hodnota hash zdroje. Pokud je zadán mod , vrátí funkce hodnotu hash modulo hodnotu mod, což znamená, že výstup funkce bude zbytek hodnoty hash dělené mod. Výstup 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() Funkci použijte pro vzorkování dat, pokud jsou hodnoty v jednom ze svých sloupců jednotně distribuovány. V následujícím příkladu jsou hodnoty StartTime jednotně distribuovány 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