Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

uniqHLL12

uniqHLL12

도입 버전: v1.1.0

HyperLogLog 알고리즘을 사용하여 서로 다른 인수 값의 대략적인 개수를 계산합니다.

구현 세부 정보

이 함수는 집계의 모든 매개변수에 대해 해시를 계산한 다음, 이를 계산에 사용합니다. HyperLogLog 알고리즘을 사용해 서로 다른 인수 값의 개수를 근사합니다.

2^12개의 5비트 셀을 사용합니다. 상태 크기는 2.5 KB를 약간 초과합니다. 작은 데이터 세트(<10K 요소)에서는 결과가 그다지 정확하지 않습니다(오류는 최대 약 10%). 하지만 카디널리티가 높은 데이터 세트(10K-100M)에서는 결과가 상당히 정확하며, 최대 오류는 약 1.6%입니다. 100M부터는 추정 오류가 증가하며, 카디널리티가 매우 높은 데이터 세트(1B+ 요소)에서는 함수가 매우 부정확한 결과를 반환합니다.

결정적인 결과를 제공합니다(쿼리 처리 순서에 영향을 받지 않음).

구문

uniqHLL12(x[, ...])

인수

반환 값

서로 다른 인수 값의 대략적인 개수를 나타내는 UInt64 타입의 숫자를 반환합니다. UInt64

예시

기본 사용법

CREATE TABLE example_hll
(
    id UInt32,
    category String
)
ENGINE = Memory;

INSERT INTO example_hll VALUES
(1, 'A'), (2, 'B'), (3, 'A'), (4, 'C'), (5, 'B'), (6, 'A');

SELECT uniqHLL12(category) AS hll_unique_categories
FROM example_hll;
┌─hll_unique_categories─┐
│                     3 │
└───────────────────────┘

관련 항목

Navigation