HLL_SKETCH_ESTIMATE 함수 - AWS Clean Rooms

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

HLL_SKETCH_ESTIMATE 함수

HLL_SKETCH_ESTIMATE 함수는 HLL 스케치를 가져와 스케치로 표시되는 고유 요소의 수를 추정합니다. HyperLogLog(HLL) 알고리즘을 사용하여 주어진 열의 고유 값 수에 대한 확률론적 근사치를 계산하고, HLL_SKETCH_AGG 함수에서 이전에 생성된 스케치 버퍼라고 하는 바이너리 표현을 사용하고, 결과를 큰 정수로 반환합니다.

HLL 스케치 알고리즘은 전체 고유 값 세트를 저장할 필요 없이 대규모 데이터 세트의 경우에도 고유한 요소의 수를 추정하는 효율적인 방법을 제공합니다.

또한 hll_unionhll_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