Share via


hash()

Devuelve un valor hash para el valor de entrada.

Nota

  • La función calcula hashes mediante el algoritmo xxhash64, pero esto puede cambiar. Se recomienda usar solo esta función dentro de una sola consulta.
  • Si necesita conservar un hash combinado, se recomienda usar hash_sha256(), hash_sha1() o hash_md5() y combinar los hashes con un operador bit a bit. Estas funciones son más complejas de calcular que hash().

Syntax

hash(source [,mod])

Obtenga más información sobre las convenciones de sintaxis.

Parámetros

Nombre Tipo Requerido Descripción
source escalar ✔️ Valor que se va a aplicar hash.
mod int Valor de módulo que se va a aplicar al resultado hash, de modo que el valor de salida esté entre 0 y mod - 1. Este parámetro es útil para limitar el intervalo de valores de salida posibles o para comprimir la salida de la función hash en un intervalo menor.

Devoluciones

Valor hash del origen. Si se especifica mod , la función devuelve el módulo de valor hash del valor mod, lo que significa que la salida de la función será el resto del valor hash dividido por mod. La salida será un valor entre 0 y mod - 1, ambos incluidos.

Ejemplos

Entrada de cadena

print result=hash("World")
resultado
1846988464401551951

Entrada de cadena con mod

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

Entrada datetime

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

Uso de hash para comprobar la distribución de datos

Use la hash() función para muestrear datos si los valores de una de sus columnas se distribuyen uniformemente. En el ejemplo siguiente, los valores startTime se distribuyen uniformemente y la función se usa para ejecutar una consulta en el 10 % de los datos.

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