기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
HLL_SKETCH_ESTIMATE 함수
HLL_SKETCH_ESTIMATE 함수는 HLL 스케치를 가져와 스케치로 표시되는 고유 요소의 수를 추정합니다. HyperLogLog(HLL) 알고리즘을 사용하여 주어진 열의 고유 값 수에 대한 확률론적 근사치를 계산하고, HLL_SKETCH_AGG 함수에서 이전에 생성된 스케치 버퍼라고 하는 바이너리 표현을 사용하고, 결과를 큰 정수로 반환합니다.
HLL 스케치 알고리즘은 전체 고유 값 세트를 저장할 필요 없이 대규모 데이터 세트의 경우에도 고유한 요소의 수를 추정하는 효율적인 방법을 제공합니다.
또한 hll_union
및 hll_union_agg
함수는 이러한 버퍼를 입력으로 사용하고 병합하여 스케치를 결합할 수 있습니다.
구문
HLL_SKETCH_ESTIMATE (hllsketch_expression)
인수
- hllsketch_expression
-
HLL_SKETCH_AGG에서 생성된 스케치를 포함하는
BINARY
표현식
반환 타입
HLL_SKETCH_ESTIMATE 함수는 입력 스케치로 표시되는 대략적인 고유 개수인 BIGINT 값을 반환합니다.
예시
다음 예제에서는 HyperLogLog(HLL) 스케치 알고리즘을 사용하여 col
열에 있는 값의 카디널리티(고유 개수)를 추정합니다. hll_sketch_agg(col, 12)
함수는 col
열을 가져와 12비트의 정밀도를 사용하여 HLL 스케치를 생성합니다. HLL 스케치는 집합의 고유 요소 수를 효율적으로 추정할 수 있는 대략적인 데이터 구조입니다. hll_sketch_estimate()
함수는에서 생성한 HLL 스케치를 가져hll_sketch_agg
와 스케치로 표시되는 값의 카디널리티(고유 개수)를 추정합니다. 는 5개의 행이 있는 테스트 데이터 세트를 FROM VALUES (1), (1), (2), (2), (3) tab(col);
생성합니다. 여기서 col
열에는 1, 1, 2, 2, 3 값이 포함됩니다. 이 쿼리의 결과는 col
열에 있는 값의 예상 고유 개수인 3입니다.
SELECT hll_sketch_estimate(hll_sketch_agg(col, 12)) FROM VALUES (1), (1), (2), (2), (3) tab(col); 3
다음 예제와 이전 예제의 차이점은 hll_sketch_agg
함수 호출에서 정밀도 파라미터(12비트)가 지정되지 않는다는 것입니다. 이 경우 기본 정밀도인 14비트가 사용되며, 이는 12비트의 정밀도를 사용한 이전 예제에 비해 고유 개수에 대한 보다 정확한 추정치를 제공할 수 있습니다.
SELECT hll_sketch_estimate(hll_sketch_agg(col)) FROM VALUES (1), (1), (2), (2), (3) tab(col); 3