Abfragen von replizierten Daten in Amazon Redshift - 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 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 Null-ETL-Integrationen.

Anmerkung

Da eine Datenbank wie ein Schema in MySQL ist, wird die MySQL-Datenbankebene der Amazon-Redshift-Schemaebene zugeordnet. Beachten Sie diesen Unterschied bei der Zuordnung, wenn Sie Daten abfragen, die aus Aurora MySQL oder RDS für MySQL repliziert wurden.

Um replizierte Daten abzufragen
  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. Zum Beispiel:

    SELECT * FROM "schema_name"."table_name";

    Sie können die Daten auch mit der Amazon Redshift Data API abfragen.

Abfragen replizierter Daten mit materialisierten Ansichten

Sie können materialisierte Ansichten in Ihrer lokalen Amazon-Redshift-Datenbank erstellen, um Daten zu transformieren, die über Null-ETL-Integrationen repliziert wurden. 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 aus der Quelle zu erstellen und in die Tabellen und einzufügen. sales_zetl event_zetl 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 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);

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

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

Abfragen replizierter Daten aus DynamoDB

Wenn Sie Daten von Amazon DynamoDB in eine Amazon Redshift Redshift-Datenbank replizieren, werden sie in einer materialisierten Ansicht in einer Spalte des SUPER-Datentyps gespeichert.

In diesem Beispiel werden die folgenden Daten in DynamoDB gespeichert.

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

Die materialisierte Ansicht von Amazon Redshift ist wie folgt definiert.

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

Um die Daten in der materialisierten Ansicht anzuzeigen, führen Sie einen SQL-Befehl aus.

SELECT first_payload FROM mv_sales;