Interrogation et création de vues matérialisées avec les données répliquées - Amazon Redshift

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 et création de vues matérialisées avec les données répliquées

Interrogation des données répliquées dans Amazon Redshift

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 zéro ETL intégration.

Note

Comme une base de données est identique à un schéma dans MySQL, le niveau de ma SQL base de données correspond au niveau du schéma Amazon Redshift. Notez cette différence de mappage lorsque vous interrogez des données répliquées depuis Aurora My SQL ou RDS for MySQL.

Pour interroger les données répliquées
  1. Accédez à la console Amazon Redshift et choisissez Éditeur de requête v2.

  2. 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.

  3. Utilisez une SELECT instruction pour sélectionner toutes les données répliquées à partir du schéma et de la table que vous avez créés 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 d'Amazon RedshiftCLI.

Création de vues matérialisées avec les données répliquées

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 sans aucune intégration. 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.

Utilisez l'exemple suivant pour créer et insérer des exemples de données dans sales_zetl and event_zetl tableaux provenant de la source tickit_zetl. Les tables sont répliquées dans la base de données Amazon Redshift zetl_int_db.

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