Функция hll_union_agg

Область применения:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime 13.3 LTS и выше

Эта функция использует алгоритм HyperLogLog для объединения группы эскизов в одну.

Запросы могут использовать результирующие буферы для вычисления приблизительных уникальных счетчиков с помощью функции hll_sketch_estimate .

Реализация использует библиотеку Apache Datasketches. Дополнительные сведения см. в HLL.

Синтаксис

hll_union_agg ( expr [, allowDifferentLgConfigK ] )

Эту функцию также можно вызвать как функцию окна с помощью OVER предложения.

Аргументы

  • exprBINARY: выражение с эскизом, созданным 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