

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# função HLL\$1UNION
<a name="HLL_UNION"></a>

A função HLL\$1UNION combina dois esboços HLL em um único esboço unificado. Ele usa o algoritmo HyperLogLog (HLL) para combinar dois esboços em um único esboço. As consultas podem usar os buffers resultantes para calcular contagens exclusivas aproximadas como números inteiros longos com a função. `hll_sketch_estimate`

## Sintaxe
<a name="HLL_UNION-syntax"></a>

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

## Argumento
<a name="HLL_UNION-argument"></a>

 *Exprn*   
Uma `BINARY` expressão contendo um esboço gerado por HLL\$1SKETCH\$1AGG.

*allowDifferentLgConfigK*  
Uma expressão BOOLEAN opcional que controla se é permitido mesclar dois esboços com valores LGConfigK diferentes. O valor padrão é `false`.

## Tipo de retorno
<a name="HLL_UNION-return-type"></a>

A função HLL\$1UNION retorna um buffer BINARY contendo o HyperLogLog esboço calculado como resultado da combinação das expressões de entrada. Quando o `allowDifferentLgConfigK` parâmetro é`true`, o esboço resultante usa o menor dos dois `lgConfigK` valores fornecidos.

## Exemplos
<a name="HLL_UNION-examples"></a>

Os exemplos a seguir usam o algoritmo de esboço HyperLogLog (HLL) para estimar a contagem exclusiva de valores em duas colunas `col1` e em um `col2` conjunto de dados.

 A `hll_sketch_agg(col1)` função cria um esboço HLL para os valores exclusivos na `col1` coluna. 

A `hll_sketch_agg(col2)` função cria um esboço HLL para os valores exclusivos na coluna col2. 

A `hll_union(...)` função combina os dois esboços de HLL criados nas etapas 1 e 2 em um único esboço de HLL unificado.

A `hll_sketch_estimate(...)` função pega o esboço combinado do HLL e estima a contagem exclusiva de valores em ambos e. `col1` `col2`

A `FROM VALUES` cláusula gera um conjunto de dados de teste com 5 linhas, onde `col1` contém os valores 1, 1, 2, 2 e 3 e `col2` contém os valores 4, 4, 5, 5 e 6. 

O resultado dessa consulta é a contagem exclusiva estimada de valores em ambos `col1` e`col2`, que é 6. O algoritmo de esboço HLL fornece uma maneira eficiente de estimar o número de elementos exclusivos, mesmo para grandes conjuntos de dados, sem precisar armazenar o conjunto completo de valores exclusivos. Neste exemplo, a `hll_union` função é usada para combinar os esboços do HLL das duas colunas, o que permite que a contagem exclusiva seja estimada em todo o conjunto de dados, em vez de apenas para cada coluna individualmente.

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

A diferença entre o exemplo a seguir e o anterior é que o parâmetro de precisão (12 bits) não está especificado na chamada da `hll_sketch_agg` função. Nesse caso, a precisão padrão de 14 bits é usada, o que pode fornecer uma estimativa mais precisa para a contagem exclusiva em comparação com o exemplo anterior que usou 12 bits de precisão.

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