다음을 통해 공유


hll_union_agg 기능

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

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

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

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

구문

hll_union_agg ( expr [, allowDifferentLgConfigK ] )

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

인수

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

반품

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

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

예제

> SELECT hll_sketch_estimate(hll_union_agg(sketch, true))
    FROM (SELECT hll_sketch_agg(col) as sketch
            FROM VALUES (1) AS tab(col)
          UNION ALL
          SELECT hll_sketch_agg(col, 20) as sketch
            FROM VALUES (1) AS tab(col));
  1

> SELECT hll_sketch_estimate(hll_union_agg(sketch, false))
    FROM (SELECT hll_sketch_agg(col) as sketch
            FROM VALUES (1) AS tab(col)
          UNION ALL
          SELECT hll_sketch_agg(col, 20) as sketch
            FROM VALUES (1) AS tab(col));
  error