본문으로 바로가기
본문으로 바로가기

topK

topK

도입 버전: v1.1

지정된 컬럼에서 대략적으로 가장 자주 나타나는 값의 배열을 반환합니다. 결과 배열은 값 자체가 아니라 값의 대략적인 빈도에 따라 내림차순으로 정렬됩니다.

Parallel Space Saving의 reduce-and-combine 알고리즘을 기반으로 TopK 분석을 위해 Filtered Space-Saving 알고리즘을 구현합니다.

이 함수는 결과를 보장하지 않습니다. 특정 상황에서는 오차가 발생할 수 있으며, 실제로는 가장 빈번한 값이 아닌 값을 빈번한 값으로 반환할 수 있습니다.

함께 보기

구문

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

매개변수

  • N — 반환할 요소의 개수입니다. 기본값: 10. N의 최대값은 65536입니다. UInt64
  • load_factor — 선택 사항입니다. 값을 위해 몇 개의 셀을 예약할지 정의합니다. uniq(column) > N * load_factor인 경우, topK 함수의 결과는 근사값이 됩니다. 기본값: 3. UInt64
  • counts — 선택 사항입니다. 결과에 근사 개수와 오차값을 포함할지 여부를 정의합니다. Bool

인수

  • column — 가장 자주 나타나는 값을 찾을 컬럼의 이름입니다. String

반환 값

근사적으로 가장 빈도가 높은 값들의 배열을 근사 빈도의 내림차순으로 정렬하여 반환합니다. Array

예시

사용 예시

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

참고 자료