hash()

Devolve um valor hash pelo valor de entrada.

Nota

  • A função calcula hashes com o algoritmo xxhash64, mas isto pode mudar. Recomenda-se que utilize apenas esta função numa única consulta.
  • Se precisar de manter um hash combinado, é recomendado utilizar hash_sha256(), hash_sha1()ou hash_md5() e combinar os hashes com um operador bit-a-bit. Estas funções são mais complexas de calcular do que hash().

Syntax

hash(origem [,mod])

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Necessário Descrição
origem escalar ✔️ O valor a ser hashado.
mod int Um valor modulo a ser aplicado ao resultado hash, para que o valor de saída seja entre 0 e mod - 1. Este parâmetro é útil para limitar o intervalo de valores de saída possíveis ou para comprimir a saída da função hash num intervalo mais pequeno.

Devoluções

O valor hash da origem. Se mod for especificado, a função devolve o valor hash modulo o valor de mod, o que significa que a saída da função será o resto do valor hash dividido por mod. O resultado será um valor entre 0 e mod - 1, inclusive.

Exemplos

Entrada de cadeia

print result=hash("World")
result
1846988464401551951

Entrada de cadeia com mod

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

Entrada datetime

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

Utilizar o hash para verificar a distribuição de dados

Utilize a hash() função para amostragem de dados se os valores numa das respetivas colunas forem distribuídos uniformemente. No exemplo seguinte, os valores StartTime são distribuídos uniformemente e a função é utilizada para executar uma consulta em 10% dos dados.

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