Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция
Область применения: Databricks SQL
Databricks Runtime 13.3 LTS и выше
Эта функция использует алгоритм HyperLogLog для объединения группы эскизов в одну.
Запросы могут использовать результирующие буферы для вычисления приблизительных уникальных значений с функцией hll_sketch_estimate.
Реализация использует библиотеку Apache Datasketches. Для получения дополнительной информации см. HLL.
Синтаксис
hll_union_agg ( expr [, allowDifferentLgConfigK ] )
Эту функцию также можно вызвать как функцию окна с помощью OVER
предложения.
Аргументы
-
expr
BINARY
: выражение с эскизом, созданным hll_sketch_agg. -
allowDifferentLgConfigK
: необязательноеBOOLEAN
константное выражение, определяющее возможность объединения эскизов с различными значениями lgConfigK. По умолчанию используется значение false.
Возвраты
Буфер BINARY
, содержащий эскиз HyperLogLog, вычисляемый в результате объединения входных выражений одной группы.
allowDifferentLgConfigK
Если параметр имеет значение true, результирующий эскиз использует меньшее из двух предоставленных lgConfigK
значений.
Примеры
> SELECT hll_sketch_estimate(hll_union_agg(sketch, true))
FROM (SELECT hll_sketch_agg(col) as sketch
FROM VALUES (1) AS tab(col)
UNION ALL
SELECT hll_sketch_agg(col, 20) as sketch
FROM VALUES (1) AS tab(col));
1
> SELECT hll_sketch_estimate(hll_union_agg(sketch, false))
FROM (SELECT hll_sketch_agg(col) as sketch
FROM VALUES (1) AS tab(col)
UNION ALL
SELECT hll_sketch_agg(col, 20) as sketch
FROM VALUES (1) AS tab(col));
error