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


tuple_sketch_agg_double Агрегатная функция

Область применения:check помечена да Databricks Runtime 18.1 и выше

Создает tupleSketch datasketch из пар "ключ-значение", где ключи используются для разных подсчета и двойных суммарных значений объединяются в соответствии с указанным режимом.

Синтаксис

tuple_sketch_agg_double ( key, summary [, lgNomEntries [, mode ]] )

Аргументы

  • ключ: выражение для уникального подсчета значений. Допустимые типы: INTEGER, LONG, FLOATDOUBLESTRING, BINARYARRAY<INTEGER>и .ARRAY<LONG>
  • сводка: DOUBLE значение, связанное с каждым ключом и агрегированное.
  • lgNomEntries: необязательный INTEGER литерал, указывающий log-base-2 номинальных записей. Должно быть от 4 до 26 включительно. Значение по умолчанию — 12 (4096 контейнеров). Более высокие значения обеспечивают более высокую точность, но используют больше памяти.
  • режим: необязательный STRING литерал, указывающий режим агрегирования для сводок. Допустимые значения: 'sum', 'min', 'max', 'alwaysone'. Значение по умолчанию — 'sum'.

Возвраты

Значение BINARY , содержащее сериализованный компактный tupleSketch с двойными сводками.

Примечания.

  • NULL значения ключа или сводки игнорируются во время агрегирования.
  • Пустые строки, пустые массивы байтов и пустые массивы игнорируются для ключей.
  • Значения lgNomEntries и mode параметры должны быть константами.
  • Используйте tuple_sketch_estimate_double для получения оценки определенного количества.
  • Используйте tuple_sketch_summary_double для получения агрегированного суммарного значения сводки.

Распространенные условия ошибки

Примеры

-- Create sketch with sum mode (default)
> SELECT tuple_sketch_estimate_double(tuple_sketch_agg_double(key, summary, 12, 'sum')) FROM VALUES (1, 5.0D), (1, 1.0D), (2, 2.0D), (2, 3.0D), (3, 2.2D) tab(key, summary);
3.0

-- Get aggregated summary
> SELECT tuple_sketch_summary_double(tuple_sketch_agg_double(key, summary)) FROM VALUES (1, 1.0D), (1, 2.0D), (2, 3.0D) tab(key, summary);
6.0