hll_merge() (функция агрегирования)
Область применения: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Объединяет результаты HLL в группе в одно значение HLL.
Примечание.
Нельзя объединить значения hll, созданные с помощью различных значений точности. Дополнительные сведения см. в разделе hll().
Дополнительные сведения см. в базовом алгоритме (H yperLog L og) и точности оценки.
Внимание
Результаты hll(), hll_if() и hll_merge() можно сохранить и получить позже. Например, может потребоваться создать сводку по ежедневным уникальным пользователям, которая затем может использоваться для вычисления еженедельных подсчетов. Однако точное двоичное представление этих результатов может меняться с течением времени. Нет никакой гарантии, что эти функции будут производить идентичные результаты для идентичных входных данных, поэтому мы не советуем полагаться на них.
Синтаксис
hll_merge
(
hll)
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
hll | string |
✔️ | Имя столбца, содержащее значения HLL для слияния. |
Возвраты
Функция возвращает объединенные значения HLL для группы.
Совет
Используйте функцию dcount_hll для вычисления dcount
функций агрегирования hll() и hll_merge().
Пример
В следующем примере показаны результаты HLL в группе, объединенные в одно значение HLL.
StormEvents
| summarize hllRes = hll(DamageProperty) by bin(StartTime,10m)
| summarize hllMerged = hll_merge(hllRes)
Выходные данные
В результатах отображаются только первые пять результатов в массиве.
hllMerged |
---|
[[1024,14],["-6903255281122589438","-7413697181929588220","-2396604341988936699","5824198135224880646","-6257421034880415225", ...],[]] |
Точность оценки
Эта функция использует вариант алгоритма HyperLogLog (HLL), который выполняет стохастиическую оценку кратности набора. Алгоритм предоставляет "рычаг управления", который можно использовать для выравнивания точности и времени выполнения под размер памяти:
Правильность | Ошибка (%) | Число записей |
---|---|---|
0 | 1,6 | 212 |
1 | 0,8 | 214 |
2 | 0,4 | 216 |
3 | 0,28 | 217 |
4 | 0,2 | 218 |
Примечание.
Столбец "число записей" — это количество 1-байтных счетчиков в реализации HLL.
Алгоритм включает в себя некоторые положения для выполнения идеального подсчета (нулевой ошибки), если кратность набора достаточно мала:
- если уровень точности равен
1
, возвращаются значения 1000; - если уровень точности равен
2
, возвращаются значения 8000.
Границы погрешности — вероятностная, а не теоретическая граница. Значение является стандартным отклонением распределения погрешностей (сигма). 99,7 % оценок будут иметь относительную погрешность в 3 сигмы.
На следующем изображении показана функция распределения вероятности относительной погрешности оценки (в процентах) для всех поддерживаемых параметров точности: