hll_sketch_agg 집계 함수

적용 대상:검사 '예'로 표시 Databricks SQL 검사 '예'로 표시 Databricks Runtime 13.3 LTS 이상

이 함수는 HyperLogLog 알고리즘을 사용하여 지정된 열의 고유 값 수에 대한 확률적 근사값을 계산하고 결과를 스케치 버퍼라고 하는 이진 표현으로 출력합니다. 이 이진 표현은 지속성에 적합합니다.

쿼리는 결과 버퍼를 사용하여 hll_sketch_estimate 함수를 사용하여 대략적인 고유 수를 계산할 수 있습니다.

hll_unionhll_union_agg 함수는 이러한 버퍼를 입력으로 사용하고 병합하여 스케치를 결합할 수도 있습니다.

구현은 Apache Datasketches 라이브러리를 사용합니다. 자세한 내용은 HLL을 참조하세요.

구문

hll_sketch_agg ( expr [, lgConfigK ] )

이 함수는 OVER 절을 사용하여 창 함수로 호출할 수도 있습니다.

인수

  • expr: 형식INT, BIGINT또는 STRINGBINARY 고유한 계산이 발생하는 식입니다.
  • lgConfigK: 기본값이 12인 4에서 21 사이의 선택적 INT 상수입니다. K의 log-base-2입니다. 여기서 K는 스케치에 대한 버킷 또는 슬롯의 수입니다.

모든 NULL in expr 은 무시됩니다.

반품

집계 그룹의 모든 입력 값을 사용하고 집계한 결과로 계산된 HyperLogLog 스케치를 포함하는 비NULLBINARY 버퍼입니다.

예제

> SELECT hll_sketch_estimate(hll_sketch_agg(col, 12))
    FROM VALUES (1), (1), (2), (2), (3) tab(col);
  3

> SELECT hll_sketch_estimate(hll_sketch_agg(col))
    FROM VALUES (1), (1), (2), (2), (3) tab(col);
  3