다음을 통해 공유


hll_union 기능

적용 대상: 예(예)로 표시된 확인 Databricks SQL 예(예)로 표시된 확인 Databricks Runtime 13.3 LTS 이상

이 함수는 HyperLogLog 알고리즘을 활용하여 두 개의 스케치를 단일 스케치로 결합합니다.

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

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

구문

hll_union ( expr1, expr2 [, allowDifferentLgConfigK ] )

인수

  • exprNBINARY: hll_sketch_agg 생성된 스케치를 포함하는 식입니다.
  • allowDifferentLgConfigK: 두 스케치를 서로 다른 lgConfigK 값과 병합할 수 있는지 여부를 제어하는 선택적 BOOLEAN 식입니다. 기본값은 false입니다.

반품

BINARY 입력 식을 결합한 결과로 계산된 HyperLogLog 스케치를 포함하는 버퍼입니다.

매개 변수가 allowDifferentLgConfigK true이면 결과 스케치는 제공된 lgConfigK 두 값 중 더 작은 값을 사용합니다.

예제

> SELECT hll_sketch_estimate(
  hll_union(
    hll_sketch_agg(col1),
    hll_sketch_agg(col2)))
  FROM VALUES
    (1, 4),
    (1, 4),
    (2, 5),
    (2, 5),
    (3, 6) AS tab(col1, col2);
  6

> SELECT hll_sketch_estimate(
  hll_union(
    hll_sketch_agg(col1,  4),
    hll_sketch_agg(col2, 21)))
  FROM VALUES
    (1, 4),
    (1, 4),
    (2, 5),
    (2, 5),
    (3, 6) AS tab(col1, col2);
  error