Abfragen und Erstellen von materialisierten Ansichten mit replizierten Daten - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Abfragen und Erstellen von materialisierten Ansichten mit replizierten Daten

Abfragen von replizierten Daten in Amazon Redshift

Nachdem Sie Ihrer Quelle Daten hinzugefügt haben, werden diese nahezu in Echtzeit in das Amazon Redshift Data Warehouse repliziert und können nun abgefragt werden. Hinweise zu Integrationsmetriken und Tabellenstatistiken finden Sie unter Metriken für ETL Null-Integrationen.

Anmerkung

Da eine Datenbank mit einem Schema in My identisch istSQL, wird Meine SQL Datenbankebene der Amazon Redshift Redshift-Schemaebene zugeordnet. Beachten Sie diesen Unterschied bei der Zuordnung, wenn Sie Daten abfragen, die von Aurora My SQL oder RDS für My SQL repliziert wurden.

So fragen Sie die replizierten Daten ab
  1. Navigieren Sie zur Amazon-Redshift-Konsole und wählen Sie die Option Query Editor v2 aus.

  2. Stellen Sie eine Verbindung zu Ihrer Amazon-Redshift-Serverless-Arbeitsgruppe oder Ihrem von Amazon Redshift bereitgestellten Cluster her und wählen Sie Ihre Datenbank aus der Dropdown-Liste aus.

  3. Verwenden Sie eine SELECT Anweisung, um alle replizierten Daten aus dem Schema und der Tabelle auszuwählen, die Sie in der Quelle erstellt haben. Um zwischen Groß- und Kleinschreibung zu unterscheiden, verwenden Sie doppelte Anführungszeichen (" ") für Schema-, Tabellen- und Spaltennamen. Beispielsweise:

    SELECT * FROM "schema_name"."table_name";

    Sie können die Daten auch mit Amazon Redshift CLI abfragen.

Erstellen von materialisierten Ansichten mit replizierten Daten

Sie können materialisierte Ansichten in Ihrer lokalen Amazon Redshift Redshift-Datenbank erstellen, um Daten zu transformieren, die ohne Integrationen repliziert wurden. ETL Stellen Sie eine Verbindung zu Ihrer lokalen Datenbank her und verwenden Sie datenbankübergreifende Abfragen, um auf die Zieldatenbanken zuzugreifen. Sie können entweder vollqualifizierte Objektnamen mit der dreiteiligen Notation (destination-database-name.schema-name.table-name) verwenden oder ein externes Schema erstellen, das auf das Zieldatenbank-Schemapaar verweist, und die zweiteilige Notation (.table-name) verwenden. external-schema-name Weitere Informationen zu datenbankübergreifenden Abfragen finden Sie unter Datenbankübergreifendes Abfragen von Daten.

Verwenden Sie das folgende Beispiel, um Beispieldaten zu erstellen und in die Datei einzufügen sales_zetl and event_zetl Tabellen aus der Quelle tickit_zetl. Die Tabellen werden in die Amazon Redshift Redshift-Datenbank repliziert 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");

Sie können eine materialisierte Ansicht mithilfe der dreiteiligen Notation erstellen, um den Gesamtumsatz pro Veranstaltung zu ermitteln:

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

Sie können eine materialisierte Ansicht mithilfe der zweiteiligen Notation erstellen, um den Gesamtumsatz pro Veranstaltung zu ermitteln:

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

Verwenden Sie das folgende Beispiel, um die von Ihnen erstellten materialisierten Ansichten anzuzeigen.

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