Share via


hash()

Retorna um valor de hash para o valor de entrada.

Observação

  • A função calcula hashes usando o algoritmo xxhash64, mas isso pode mudar. É recomendável usar essa função apenas em uma única consulta.
  • Se você precisar persistir um hash combinado, é recomendável usar hash_sha256(), hash_sha1()ou hash_md5() e combinar os hashes com um operador bit a bit. Essas funções são mais complexas de calcular do que hash().

Syntax

hash(source [,mod])

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Obrigatório Descrição
source escalar ✔️ O valor a ser hash.
mod int Um valor de módulo a ser aplicado ao resultado de hash, de modo que o valor de saída seja entre 0 e mod - 1. Esse parâmetro é útil para limitar o intervalo de possíveis valores de saída ou para compactar a saída da função de hash em um intervalo menor.

Retornos

O valor de hash da origem. Se mod for especificado, a função retornará o módulo de valor de hash do valor de mod, o que significa que a saída da função será o restante do valor de hash dividido por mod. A saída será um valor entre 0 e mod - 1, inclusive.

Exemplos

Entrada de cadeia de caracteres

print result=hash("World")
result
1846988464401551951

Entrada de cadeia de caracteres com mod

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

Entrada de datetime

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

Usar hash para marcar distribuição de dados

Use a hash() função para dados de amostragem se os valores em uma de suas colunas forem distribuídos uniformemente. No exemplo a seguir, os valores StartTime são distribuídos uniformemente e a função é usada 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