

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Funções HyperLogLog
<a name="hyperloglog-functions"></a>

Veja a seguir descrições das funções HyperLogLog para SQL compatíveis com o Amazon Redshift.

**Topics**
+ [Função HLL](r_HLL_function.md)
+ [Função HLL\$1CREATE\$1SKETCH](r_HLL_CREATE_SKETCH.md)
+ [Função HLL\$1CARDINALITY](r_HLL_CARDINALITY.md)
+ [Função HLL\$1COMBINE](r_HLL_COMBINE.md)
+ [Função HLL\$1COMBINE\$1SKETCHES](r_HLL_COMBINE_SKETCHES.md)

# Função HLL
<a name="r_HLL_function"></a>

A função HLL retorna a cardinalidade HyperLogLog dos valores de expressão de entrada. A função HLL funciona com quaisquer tipos de dados, exceto o tipo de dados HLLSKETCH. A função HLL ignora valores NULL. Quando não há linhas em uma tabela ou todas as linhas são NULL, a cardinalidade resultante é 0.

## Sintaxe
<a name="r_HLL_function-synopsis"></a>

```
HLL (aggregate_expression)
```

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

 *aggregate\$1expression*   
Qualquer expressão válida que forneça o valor a uma agregação, como um nome de coluna. Esta função é compatível com qualquer tipo de dados como entrada, exceto HLLSKETCH, GEOMETRY, GEOGRAPHY e VARBYTE.

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

A função HLL retorna um valor BIGINT ou INT8.

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

O seguinte exemplo retorna a cardinalidade da coluna `an_int` na tabela `a_table`.

```
CREATE TABLE a_table(an_int INT);
INSERT INTO a_table VALUES (1), (2), (3), (4);

SELECT hll(an_int) AS cardinality FROM a_table;
cardinality
-------------
4
```

# Função HLL\$1CREATE\$1SKETCH
<a name="r_HLL_CREATE_SKETCH"></a>

A função HLL\$1CREATE\$1SKETCH retorna um tipo de dados HLLSKETCH que encapsula os valores de expressão de entrada. A função HLL\$1CREATE\$1SKETCH funciona com qualquer tipo de dados e ignora valores NULL. Quando não há linhas em uma tabela ou todas as linhas são NULL, o esboço resultante não tem pares de valor de índice, como `{"version":1,"logm":15,"sparse":{"indices":[],"values":[]}}`.

## Sintaxe
<a name="r_HLL_CREATE_SKETCH-synopsis"></a>

```
HLL_CREATE_SKETCH (aggregate_expression)
```

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

 *aggregate\$1expression*   
Qualquer expressão válida que forneça o valor a uma agregação, como um nome de coluna. Valores NULL são ignorados. Esta função é compatível com qualquer tipo de dados como entrada, exceto HLLSKETCH, GEOMETRY, GEOGRAPHY e VARBYTE.

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

A função HLL\$1CREATE\$1SKETCH retorna um valor HLLSKETCH.

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

O exemplo a seguir retorna o tipo HLLSKETCH para coluna `an_int` na tabela `a_table`. Um objeto JSON é usado para representar um esboço do HyperLogLog esparso ao importar, exportar ou imprimir esboços. Uma representação de string (no formato Base64) é usada para representar um esboço de HyperLogLog denso.

```
CREATE TABLE a_table(an_int INT);
INSERT INTO a_table VALUES (1), (2), (3), (4);

SELECT hll_create_sketch(an_int) AS sketch FROM a_table;
sketch
-------------------------------------------------------------------------------------------------------
{"version":1,"logm":15,"sparse":{"indices":[20812342,20850007,22362299,47158030],"values":[1,2,1,1]}}
(1 row)
```

# Função HLL\$1CARDINALITY
<a name="r_HLL_CARDINALITY"></a>

A função HLL\$1CARDINALITY retorna a cardinalidade do tipo de dados HLLSKETCH de entrada.

## Sintaxe
<a name="r_HLL_CARDINALITY-synopsis"></a>

```
HLL_CARDINALITY (hllsketch_expression)
```

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

 *hllsketch\$1expression*   
Qualquer expressão válida que avalia para um tipo HLLSKETCH, tal como um nome de coluna. O valor de entrada é o tipo de dados HLLSKETCH.

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

A função HLL\$1CARDINALITY retorna um valor BIGINT ou INT8.

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

O seguinte exemplo retorna a cardinalidade da coluna `sketch` na tabela `hll_table`.

```
CREATE TABLE a_table(an_int INT, b_int INT);
INSERT INTO a_table VALUES (1,1), (2,1), (3,1), (4,1), (1,2), (2,2), (3,2), (4,2), (5,2), (6,2);

CREATE TABLE hll_table (sketch HLLSKETCH);
INSERT INTO hll_table select hll_create_sketch(an_int) from a_table group by b_int;

SELECT hll_cardinality(sketch) AS cardinality FROM hll_table;
cardinality
-------------
6
4
(2 rows)
```

# Função HLL\$1COMBINE
<a name="r_HLL_COMBINE"></a>

A função agregada HLL\$1COMBINE retorna um tipo de dados HLLSKETCH que combina todos os valores HLLSKETCH de entrada. 

A combinação de dois ou mais esboços HyperLogLog é um novo HLLSKETCH que encapsula informações sobre a união dos valores distintos que cada esboço de entrada representa. Depois de combinar esboços, o Amazon Redshift extrai a cardinalidade da união de dois ou mais conjuntos de dados. Para obter mais informações sobre como combinar vários esboços, consulte [Exemplo: retorna um esboço do HyperLogLog da combinação de vários esboços](r_HLL-examples.md#hll-examples-multiple-sketches).

## Sintaxe
<a name="r_HLL_COMBINE-synopsis"></a>

```
HLL_COMBINE (hllsketch_expression)
```

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

 *hllsketch\$1expression*   
Qualquer expressão válida que avalia para um tipo HLLSKETCH, tal como um nome de coluna. O valor de entrada é o tipo de dados HLLSKETCH.

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

A função HLL\$1COMBINE retorna um tipo HLLSKETCH.

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

O exemplo a seguir retorna os valores HLLSKETCH combinados na tabela `hll_table`.

```
CREATE TABLE a_table(an_int INT, b_int INT);
INSERT INTO a_table VALUES (1,1), (2,1), (3,1), (4,1), (1,2), (2,2), (3,2), (4,2), (5,2), (6,2);

CREATE TABLE hll_table (sketch HLLSKETCH);
INSERT INTO hll_table select hll_create_sketch(an_int) from a_table group by b_int;

SELECT hll_combine(sketch) AS sketches FROM hll_table;
sketches
----------------------------------------------------------------------------------------------------------------------------
{"version":1,"logm":15,"sparse":{"indices":[20812342,20850007,22362299,40314817,42650774,47158030],"values":[1,2,1,3,2,1]}}
(1 row)
```

# Função HLL\$1COMBINE\$1SKETCHES
<a name="r_HLL_COMBINE_SKETCHES"></a>

A função HLL\$1COMBINE\$1SKETCHES é uma função escalar que recebe como entrada dois valores HLLSKETCH e combina-os em um único HLLSKETCH.

A combinação de dois ou mais esboços HyperLogLog é um novo HLLSKETCH que encapsula informações sobre a união dos valores distintos que cada esboço de entrada representa.

## Sintaxe
<a name="r_HLL_COMBINE_SKETCHES-synopsis"></a>

```
HLL_COMBINE_SKETCHES (hllsketch_expression1, hllsketch_expression2)
```

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

 *hllsketch\$1expression1* e *hllsketch\$1expression2*   
Qualquer expressão válida que avalia para um tipo HLLSKETCH, tal como um nome de coluna.

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

A função HLL\$1COMBINE\$1SKETCHES retorna um tipo HLLSKETCH.

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

O exemplo a seguir retorna os valores HLLSKETCH combinados na tabela `hll_table`.

```
WITH tbl1(x, y)
     AS (SELECT Hll_create_sketch(1),
                Hll_create_sketch(2)
         UNION ALL
         SELECT Hll_create_sketch(3),
                Hll_create_sketch(4)
         UNION ALL
         SELECT Hll_create_sketch(5),
                Hll_create_sketch(6)
         UNION ALL
         SELECT Hll_create_sketch(7),
                Hll_create_sketch(8)),
     tbl2(x, y)
     AS (SELECT Hll_create_sketch(9),
                Hll_create_sketch(10)
         UNION ALL
         SELECT Hll_create_sketch(11),
                Hll_create_sketch(12)
         UNION ALL
         SELECT Hll_create_sketch(13),
                Hll_create_sketch(14)
         UNION ALL
         SELECT Hll_create_sketch(15),
                Hll_create_sketch(16)
         UNION ALL
         SELECT Hll_create_sketch(NULL),
                Hll_create_sketch(NULL)),
     tbl3(x, y)
     AS (SELECT *
         FROM   tbl1
         UNION ALL
         SELECT *
         FROM   tbl2)
SELECT Hll_combine_sketches(x, y)
FROM   tbl3;
```