Перейти к основному содержимому
Перейти к основному содержимому

topK

Возвращает массив приблизительно самых частых значений в указанной колонке. Результирующий массив отсортирован по убыванию приблизительной частоты значений (не по самим значениям).

Реализует алгоритм Filtered Space-Saving для анализа TopK, основанный на алгоритме reduce-and-combine из Parallel Space Saving.

topK(N)(column)
topK(N, load_factor)(column)
topK(N, load_factor, 'counts')(column)

Эта функция не гарантирует точный результат. В некоторых ситуациях могут возникнуть ошибки, и она может вернуть частые значения, которые не являются самыми частыми.

Рекомендуем использовать значение N < 10; производительность снижается с большими значениями N. Максимальное значение N = 65536.

Параметры

  • N — Количество элементов для возвращения. Необязательный. Значение по умолчанию: 10.
  • load_factor — Определяет, сколько ячеек зарезервировано для значений. Если uniq(column) > N * load_factor, результат функции topK будет приблизительным. Необязательный. Значение по умолчанию: 3.
  • counts — Определяет, должен ли результат содержать приблизительное количество и значение ошибки.

Аргументы

  • column — Значение для вычисления частоты.

Пример

Возьмите набор данных OnTime и выберите три наиболее часто встречающихся значения в колонке AirlineID.

SELECT topK(3)(AirlineID) AS res
FROM ontime
┌─res─────────────────┐
│ [19393,19790,19805] │
└─────────────────────┘

Смотрите также