Поделиться через


hash()

Область применения: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

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

Примечание.

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

Синтаксис

hash(source [, mod])

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

Параметры

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

Возвраты

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

Примеры

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

print result=hash("World")
result
1846988464401551951

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

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

Входные данные datetime

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

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

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

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