Функция hll_union
Область применения: Databricks SQL Databricks Runtime 13.3 LTS и выше
Эта функция использует алгоритм HyperLogLog для объединения двух эскизов в один эскиз.
Запросы могут использовать результирующие буферы для вычисления приблизительного уникального количества целых чисел с помощью функции hll_sketch_estimate .
Реализация использует библиотеку Apache Datasketches. Дополнительные сведения см. в HLL.
Синтаксис
hll_union ( expr1, expr2 [, allowDifferentLgConfigK ] )
Аргументы
exprN
BINARY
: выражение с эскизом, созданным hll_sketch_agg.allowDifferentLgConfigK
: необязательноеBOOLEAN
выражение, определяющее, разрешено ли слияние двух эскизов с разными значениями lgConfigK. По умолчанию используется значение false.
Возвраты
Буфер BINARY
, содержащий эскиз HyperLogLog, вычисляемый в результате объединения входных выражений.
allowDifferentLgConfigK
Если параметр имеет значение true, результирующий эскиз использует меньшее из двух предоставленных lgConfigK
значений.
Примеры
> SELECT hll_sketch_estimate(
hll_union(
hll_sketch_agg(col1),
hll_sketch_agg(col2)))
FROM VALUES
(1, 4),
(1, 4),
(2, 5),
(2, 5),
(3, 6) AS tab(col1, col2);
6
> SELECT hll_sketch_estimate(
hll_union(
hll_sketch_agg(col1, 4),
hll_sketch_agg(col2, 21)))
FROM VALUES
(1, 4),
(1, 4),
(2, 5),
(2, 5),
(3, 6) AS tab(col1, col2);
error