

 Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Vous trouverez ci-dessous les descriptions des HyperLogLog fonctions SQL prises en charge par Amazon Redshift.

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

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

La fonction HLL renvoie la HyperLogLog cardinalité des valeurs d'expression d'entrée. La fonction HLL fonctionne avec tous les types de données sauf le type de données HLLSKETCH. La fonction HLL ignore les valeurs NULL. Lorsqu’il n’y a pas de lignes dans une table ou que toutes les lignes sont NULL, la cardinalité résultante est 0.

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

```
HLL (aggregate_expression)
```

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

 *aggregate\$1expression*   
Toute expression valide qui fournit la valeur à un agrégat, telle qu’un nom de colonne. Cette fonction prend en charge n’importe quel type de données d’entrée, sauf HLLSKETCH, GEOMETRY, GEOGRAPHY et VARBYTE.

## Type de retour
<a name="r_HLL_function-return-type"></a>

La fonction HLL renvoie un BIGINT ou INT8 une valeur.

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

L’exemple suivant renvoie la cardinalité de la colonne `an_int` de la table `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
```

# Fonction HLL\$1CREATE\$1SKETCH
<a name="r_HLL_CREATE_SKETCH"></a>

La fonction HLL\$1CREATE\$1SKETCH renvoie un type de données HLLSKETCH qui encapsule les valeurs d’expression en entrée. La fonction HLL\$1CREATE\$1SKETCH fonctionne avec n’importe quel type de données et ignore les valeurs NULL. Lorsqu’il n’y a pas de lignes dans une table ou que toutes les lignes sont NULL, le schéma résultant n’a pas de paires index-valeur telles que `{"version":1,"logm":15,"sparse":{"indices":[],"values":[]}}`.

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

```
HLL_CREATE_SKETCH (aggregate_expression)
```

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

 *aggregate\$1expression*   
Toute expression valide qui fournit la valeur à un agrégat, telle qu’un nom de colonne. Les valeurs NULL sont ignorées. Cette fonction prend en charge n’importe quel type de données d’entrée, sauf HLLSKETCH, GEOMETRY, GEOGRAPHY et VARBYTE.

## Type de retour
<a name="r_HLL_CREATE_SKETCH-return-type"></a>

La fonction HLL\$1CREATE\$1SKETCH renvoie une valeur HLLSKETCH.

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

L’exemple suivant renvoie le type HLLSKETCH pour la colonne `an_int` de la table `a_table`. Un objet JSON est utilisé pour représenter une HyperLogLog esquisse éparse lors de l'importation, de l'exportation ou de l'impression d'esquisses. Une représentation sous forme de chaîne (au format Base64) est utilisée pour représenter une HyperLogLog esquisse dense.

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

# Fonction HLL\$1CARDINALITY
<a name="r_HLL_CARDINALITY"></a>

La fonction HLL\$1CARDINALITY renvoie la cardinalité du type de données HLLSKETCH en entrée.

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

```
HLL_CARDINALITY (hllsketch_expression)
```

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

 *hllsketch\$1expression*   
Expression valide qui correspond à un type HLLSKETCH, par exemple un nom de colonne. La valeur en entrée est le type de données HLLSKETCH.

## Type de retour
<a name="r_HLL_CARDINALITY-return-type"></a>

La fonction HLL\$1CARDINALITY renvoie un BIGINT ou une valeur. INT8 

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

L’exemple suivant renvoie la cardinalité de la colonne `sketch` de la table `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)
```

# Fonction HLL\$1COMBINE
<a name="r_HLL_COMBINE"></a>

La fonction d’agrégation HLL\$1COMBINE renvoie un type de données HLLSKETCH qui combine toutes les valeurs HLLSKETCH en entrée. 

La combinaison de deux HyperLogLog esquisses ou plus constitue un nouveau HLLSKETCH qui encapsule les informations relatives à l'union des valeurs distinctes représentées par chaque esquisse en entrée. Après avoir combiné les schémas, Amazon Redshift extrait la cardinalité de l’union de deux ou plusieurs jeux de données. Pour plus d’informations sur la façon de combiner plusieurs schémas, consultez [Exemple : renvoyer une HyperLogLog esquisse en combinant plusieurs esquisses](r_HLL-examples.md#hll-examples-multiple-sketches).

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

```
HLL_COMBINE (hllsketch_expression)
```

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

 *hllsketch\$1expression*   
Expression valide qui correspond à un type HLLSKETCH, par exemple un nom de colonne. La valeur en entrée est le type de données HLLSKETCH.

## Type de retour
<a name="r_HLL_COMBINE-return-type"></a>

La fonction HLL\$1COMBINE renvoie un type HLLSKETCH.

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

L’exemple suivant renvoie les valeurs HLLSLETCH combinées dans la table `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)
```

# Fonction HLL\$1COMBINE\$1SKETCHES
<a name="r_HLL_COMBINE_SKETCHES"></a>

HLL\$1COMBINE\$1SKETCHES est une fonction scalaire qui prend comme entrée deux valeurs HLLSKETCH et les combine en une seule HLLSKETCH.

La combinaison de deux HyperLogLog esquisses ou plus constitue un nouveau HLLSKETCH qui encapsule les informations relatives à l'union des valeurs distinctes représentées par chaque esquisse en entrée.

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

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

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

 *hllsketch\$1expression1* et *hllsketch\$1expression2*   
Expression valide qui correspond à un type HLLSKETCH, par exemple un nom de colonne.

## Type de retour
<a name="r_HLL_COMBINE_SKETCHES-return-type"></a>

La fonction HLL\$1COMBINE\$1SKETCHES renvoie un type HLLSKETCH.

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

L’exemple suivant renvoie les valeurs HLLSLETCH combinées dans la table `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;
```