

 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.

# Interrogation des données répliquées dans Amazon Redshift
<a name="zero-etl-using.querying-and-creating-materialized-views"></a>

Une fois que vous avez ajouté des données à votre source, celles-ci sont répliquées en temps quasi réel dans l’entrepôt des données Amazon Redshift et elles sont prêtes à être interrogées. Pour plus d’informations sur les métriques d’intégration et les statistiques de table, consultez [Métriques pour les intégrations zéro ETL](zero-etl-using.metrics.md).

**Note**  
Étant donné qu’une base de données est identique à un schéma dans MySQL, le niveau de base de données MySQL correspond au niveau de schéma Amazon Redshift. Notez cette différence de mappage lorsque vous interrogez des données répliquées depuis Aurora MySQL ou RDS for MySQL.

**Pour interroger des données répliquées**

1. Accédez à la console Amazon Redshift et choisissez **Éditeur de requête v2**.

1. Connectez-vous à votre groupe de travail Amazon Redshift sans serveur ou à votre cluster provisionné Amazon Redshift, et choisissez votre base de données dans la liste déroulante.

1. Utilisez une instruction SELECT pour sélectionner toutes les données du schéma et de la table que vous avez créées dans la source. Pour appliquer la sensibilité à la casse, utilisez des guillemets doubles (« ») pour les noms de schéma, de table et de colonne. Par exemple :

   ```
   SELECT * FROM "schema_name"."table_name";
   ```

   Vous pouvez également interroger les données à l’aide de l’API de données Amazon Redshift.

## Interrogation de données répliquées avec des vues matérialisées
<a name="zero-etl-using.transforming"></a>

Vous pouvez créer des vues matérialisées dans votre base de données Amazon Redshift locale afin de transformer les données répliquées via des intégrations zéro ETL. Connectez-vous à votre base de données locale et utilisez des requêtes entre bases de données pour accéder aux bases de données de destination. Vous pouvez utiliser des noms d'objets complets avec la notation en trois parties (destination-database-name.schema-name.table-name) ou créer un schéma externe faisant référence à la paire base de données-schéma de destination et utiliser la notation en deux parties (.table-name). external-schema-name Pour plus d’informations sur les requêtes entre bases de données, consultez [Interrogation des données de plusieurs bases de données](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html).

Utilisez l'exemple suivant pour créer et insérer des exemples de données dans les *event\$1zetl* tables *sales\$1zetl* et à partir de la source*tickit\$1zetl*. Les tables sont répliquées dans la base de données Amazon *zetl\$1int\$1db* Redshift.

```
CREATE TABLE sales_zetl (
        salesid integer NOT NULL primary key,
        eventid integer NOT NULL,
        pricepaid decimal(8, 2)
);
 
CREATE TABLE event_zetl (
        eventid integer NOT NULL PRIMARY KEY,
        eventname varchar(200)
);
       
INSERT INTO sales_zetl VALUES(1, 1, 3.33);
INSERT INTO sales_zetl VALUES(2, 2, 4.44);
INSERT INTO sales_zetl VALUES(3, 2, 5.55);
 
INSERT INTO event_zetl VALUES(1, "Event 1");
INSERT INTO event_zetl VALUES(2, "Event 2");
```

Vous pouvez créer une vue matérialisée pour obtenir le total des ventes par événement à l’aide de la notation en trois parties :

```
--three part notation zetl-database-name.schema-name.table-name 
CREATE MATERIALIZED VIEW mv_transformed_sales_per_event_3p 
AUTO REFRESH YES
AS
(SELECT eventname, sum(pricepaid) as total_price
FROM  zetl_int_db.tickit_zetl.sales_zetl S, zetl_int_db.tickit_zetl.event_zetl E
WHERE S.eventid = E.eventid
GROUP BY 1);
```

Vous pouvez créer une vue matérialisée pour obtenir le total des ventes par événement à l’aide de la notation en deux parties :

```
--two part notation external-schema-name.table-name notation
CREATE EXTERNAL schema ext_tickit_zetl
FROM REDSHIFT
DATABASE zetl_int_db
SCHEMA tickit_zetl;
 
CREATE MATERIALIZED VIEW mv_transformed_sales_per_event_2p
AUTO REFRESH YES
AS
(
    SELECT eventname, sum(pricepaid) as total_price
    FROM  ext_tickit_zetl.sales_zetl S, ext_tickit_zetl.event_zetl E
    WHERE S.eventid = E.eventid
    GROUP BY 1  
);
```

Pour visualiser les vues matérialisées que vous avez créées, utilisez l’exemple suivant.

```
SELECT * FROM mv_transformed_sales_per_event_3p;
 
+-----------+-------------+
| eventname | total_price |
+-----------+-------------+
| Event 1   | 3.33        |
| Event 2   | 9.99        |
+-----------+-------------+
 
SELECT * FROM mv_transformed_sales_per_event_2p;
 
+-----------+-------------+
| eventname | total_price |
+-----------+-------------+
| Event 1   | 3.33        |
| Event 2   | 9.99        |
+-----------+-------------+
```

## Interrogation des données répliquées à partir de DynamoDB
<a name="zero-etl-using.querying-ddb"></a>

Lorsque vous répliquez des données depuis Amazon DynamoDB vers une base de données Amazon Redshift, elles sont stockées dans une vue matérialisée dans une colonne de données de type SUPER.

Pour cet exemple, les données suivantes sont stockées dans DynamoDB.

```
{
    "key1": {
        "S": "key_1"
    },
    "key2": {
        "N": 0
    },
    "payload": {
        "L": [
            {
                "S": "sale1"
            },
            {
                "S": "sale2"
            },
        ]
    },
}
```

La vue matérialisée Amazon Redshift est définie comme suit.

```
CREATE MATERIALIZED VIEW mv_sales
                    BACKUP NO
                    AUTO REFRESH YES
                    AS
                    SELECT "value"."payload"."L"[0]."S"::VARCHAR AS first_payload
                    FROM public.sales;
```

Pour afficher les données dans la vue matérialisée, exécutez une commande SQL. 

```
SELECT first_payload FROM mv_sales;
```