

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Funciones HyperLogLog
<a name="hyperloglog-functions"></a>

A continuación, encontrará la descripción de las funciones HyperLogLog para SQL que son compatibles con Amazon Redshift.

**Topics**
+ [Funciones HLL](r_HLL_function.md)
+ [Función HLL\$1CREATE\$1SKETCH](r_HLL_CREATE_SKETCH.md)
+ [Función HLL\$1CARDINALITY](r_HLL_CARDINALITY.md)
+ [Función HLL\$1COMBINE](r_HLL_COMBINE.md)
+ [Función HLL\$1COMBINE\$1SKETCHES](r_HLL_COMBINE_SKETCHES.md)

# Funciones HLL
<a name="r_HLL_function"></a>

La función HLL devuelve la cardinalidad de HyperLogLog de los valores de la expresión de entrada. La función HLL es compatible con cualquier tipo de datos, excepto HLLSKETCH. La función HLL ignora los valores NULL. Cuando no hay filas en una tabla o todas las filas son NULL, la cardinalidad resultante es 0.

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

```
HLL (aggregate_expression)
```

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

 *expresión\$1de\$1agregación*   
Toda expresión válida que proporcione el valor a una agrupación, como el nombre de una columna. Esta función admite cualquier tipo de datos como entrada, excepto HLLSKETCH, GEOMETRY, GEOGRAPHY y VARBYTE.

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

La función HLL devuelve un valor BIGINT o INT8.

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

El siguiente ejemplo devuelve la cardinalidad de la columna `an_int` en la tabla `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
```

# Función HLL\$1CREATE\$1SKETCH
<a name="r_HLL_CREATE_SKETCH"></a>

La función HLL\$1CREATE\$1SKETCH devuelve un tipo de datos HLLSKETCH que encapsula los valores de expresión de entrada. La función HLL\$1CREATE\$1SKETCH es compatible con cualquier tipo de datos e ignora los valores NULL. Cuando no hay filas en una tabla o todas las filas son NULL, el boceto resultante no tiene pares índice-valor como `{"version":1,"logm":15,"sparse":{"indices":[],"values":[]}}`.

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

```
HLL_CREATE_SKETCH (aggregate_expression)
```

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

 *expresión\$1de\$1agregación*   
Toda expresión válida que proporcione el valor a una agrupación, como el nombre de una columna. Los valores NULL se omiten. Esta función admite cualquier tipo de datos como entrada, excepto HLLSKETCH, GEOMETRY, GEOGRAPHY y VARBYTE.

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

La función HLL\$1CREATE\$1SKETCH devuelve un valor HLLSKETCH.

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

El siguiente ejemplo devuelve el tipo HLLSKETCH para la columna `an_int` en la tabla `a_table`. Se utiliza un objeto JSON para representar un boceto de HyperLogLog disperso al momento de importar, exportar o imprimir los bocetos. Se utiliza la representación de una cadena (en formato Base64) para representar un boceto 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)
```

# Función HLL\$1CARDINALITY
<a name="r_HLL_CARDINALITY"></a>

La función HLL\$1CARDINALITY devuelve la cardinalidad del tipo de datos HLLSKETCH de entrada.

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

```
HLL_CARDINALITY (hllsketch_expression)
```

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

 *hllsketch\$1expression*   
Una expresión válida que toma el valor de un tipo HLLSKETCH, como el nombre de una columna. El valor de entrada es el tipo de datos HLLSKETCH.

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

La función HLL\$1CARDINALITY devuelve un valor BIGINT o INT8.

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

El siguiente ejemplo devuelve la cardinalidad de la columna `sketch` en la tabla `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)
```

# Función HLL\$1COMBINE
<a name="r_HLL_COMBINE"></a>

La función de agrupación HLL\$1COMBINE devuelve un tipo de datos HLLSKETCH que combina todos los valores HLLSKETCH de entrada. 

La combinación de dos o más bocetos de HyperLogLog es un nuevo HLLSKETCH que encapsula información sobre la unión de los distintos valores que representa cada boceto de entrada. Después de combinar bocetos, Amazon Redshift extrae la cardinalidad de la unión de dos o más conjuntos de datos. Para obtener más información acerca de cómo combinar varios bocetos, consulte [Ejemplo: devolver un boceto de HyperLogLog a partir de la combinación de varios bocetos](r_HLL-examples.md#hll-examples-multiple-sketches).

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

```
HLL_COMBINE (hllsketch_expression)
```

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

 *hllsketch\$1expression*   
Una expresión válida que toma el valor de un tipo HLLSKETCH, como el nombre de una columna. El valor de entrada es el tipo de datos HLLSKETCH.

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

La función HLL\$1COMBINE devuelve un tipo HLLSKETCH.

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

El siguiente ejemplo devuelve los valores combinados de HLLSKETCH en la tabla `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)
```

# Función HLL\$1COMBINE\$1SKETCHES
<a name="r_HLL_COMBINE_SKETCHES"></a>

HLL\$1COMBINE\$1SKETCHES es una función escalar que toma como entrada dos valores de HLLSKETCH y los combina en un solo HLLSKETCH.

La combinación de dos o más bocetos de HyperLogLog es un nuevo HLLSKETCH que encapsula información sobre la unión de los distintos valores que representa cada boceto de entrada.

## Sintaxis
<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* y *hllsketch\$1expression2*   
Una expresión válida que toma el valor de un tipo HLLSKETCH, como el nombre de una columna.

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

La función HLL\$1COMBINE\$1SKETCHES devuelve un tipo HLLSKETCH.

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

El siguiente ejemplo devuelve los valores combinados de HLLSKETCH en la tabla `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;
```