

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

# HLL\$1UNION 함수
<a name="HLL_UNION"></a>

HLL\$1UNION 함수는 두 개의 HLL 스케치를 통합된 단일 스케치로 결합합니다. HyperLogLog(HLL) 알고리즘을 사용하여 두 개의 스케치를 단일 스케치로 결합합니다. 쿼리는 결과 버퍼를 사용하여 `hll_sketch_estimate` 함수를 사용하여 대략적인 고유 수를 긴 정수로 계산할 수 있습니다.

## 구문
<a name="HLL_UNION-syntax"></a>

```
HLL_UNION (( expr1, expr2 [, allowDifferentLgConfigK ] ))
```

## 인수
<a name="HLL_UNION-argument"></a>

 *exprN*   
HLL\$1SKETCH\$1AGG에서 생성된 스케치를 포함하는 `BINARY` 표현식입니다.

*allowDifferentLgConfigK*  
두 스케치를 서로 다른 lgConfigK 값과 병합할 수 있는지 여부를 제어하는 선택적 BOOLEAN 표현식입니다. 기본값은 `false`입니다.

## 반환 타입
<a name="HLL_UNION-return-type"></a>

HLL\$1UNION 함수는 입력 표현식을 결합한 결과로 계산된 HyperLogLog 스케치가 포함된 BINARY 버퍼를 반환합니다. `allowDifferentLgConfigK` 파라미터가 인 경우 `true`결과 스케치는 제공된 두 값 중 작은 `lgConfigK` 값을 사용합니다.

## 예시
<a name="HLL_UNION-examples"></a>

다음 예제에서는 HyperLogLog(HLL) 스케치 알고리즘을 사용하여 데이터 세트의 `col1` 및 `col2`라는 두 열에서 값의 고유 수를 추정합니다.

 `hll_sketch_agg(col1)` 함수는 `col1` 열의 고유 값에 대한 HLL 스케치를 생성합니다.

`hll_sketch_agg(col2)` 함수는 col2 열의 고유 값에 대한 HLL 스케치를 생성합니다.

`hll_union(...)` 함수는 1단계와 2단계에서 생성된 두 HLL 스케치를 통합된 단일 HLL 스케치로 결합합니다.

이 `hll_sketch_estimate(...)` 함수는 결합된 HLL 스케치를 가져와`col1`서 및 모두에서 고유한 값 수를 추정합니다`col2`.

`FROM VALUES` 절은 5개 행으로 구성된 테스트 데이터 세트를 생성합니다. 여기서 `col1`는 값 1, 1, 2, 2, 3을 포함하고는 값 4, 4, 5, 5, 6을 `col2` 포함합니다.

이 쿼리의 결과는 `col1` 및 모두에서 값의 예상 고유 개수이며`col2`, 이는 6입니다. HLL 스케치 알고리즘은 전체 고유 값 세트를 저장할 필요 없이 대규모 데이터 세트의 경우에도 고유한 요소의 수를 추정하는 효율적인 방법을 제공합니다. 이 예제에서는 `hll_union` 함수를 사용하여 두 열의 HLL 스케치를 결합합니다. 이를 통해 각 열에 대해 개별적으로가 아니라 전체 데이터 세트에서 고유한 수를 추정할 수 있습니다.

```
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
```

다음 예제와 이전 예제의 차이점은 `hll_sketch_agg` 함수 호출에서 정밀도 파라미터(12비트)가 지정되지 않는다는 것입니다. 이 경우 기본 정밀도인 14비트가 사용되며, 이는 12비트의 정밀도를 사용한 이전 예제에 비해 고유 개수에 대한 보다 정확한 추정치를 제공할 수 있습니다.

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