hash()

Возвращает хэш-значение для входного значения.

Примечание

  • Функция вычисляет хэши с помощью алгоритма xxhash64, но это может измениться. Рекомендуется использовать эту функцию только в одном запросе.
  • Если необходимо сохранить объединенный хэш, рекомендуется использовать hash_sha256(), hash_sha1() или hash_md5() и объединить хэши с побитовой оператором. Эти функции сложнее вычислять, чем hash().

Синтаксис

hash(source [,mod])

Дополнительные сведения о соглашениях о синтаксисе.

Параметры

Имя Тип Обязательно Описание
source скаляр ✔️ Хэшировать значение.
mod (модуль) int Значение по модулю, применяемое к результату хэша, чтобы выходное значение было между 0 и mod - 1. Этот параметр полезен для ограничения диапазона возможных выходных значений или сжатия выходных данных хэш-функции в меньший диапазон.

Возвращаемое значение

Хэш-значение источника. Если указан mod , функция возвращает хэш-значение по модулю значения mod, то есть выходными данными функции будет оставшаяся часть хэш-значения, делимая на mod. Выходные данные будут иметь значение между 0 и mod - 1включительно.

Примеры

Строковые входные данные

print result=hash("World")
набор по
1846988464401551951

Строковый ввод с модом

print result=hash("World", 100)
набор по
51

Входные данные даты и времени

print result=hash(datetime("2015-01-01"))
набор по
1380966698541616202

Использование хэша для проверка распределения данных

Используйте функцию hash() для выборки данных, если значения в одном из ее столбцов равномерно распределены. В следующем примере значения StartTime равномерно распределены, а функция используется для выполнения запроса на 10 % данных.

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