Consulta de datos replicados en Amazon Redshift
Una vez añadidos los datos al origen, se replican casi en tiempo real en el almacenamiento de datos de Amazon Redshift y ya se pueden consultar. Para obtener información sobre las métricas de integración y las estadísticas de la tabla, consulte Métricas para integraciones sin ETL.
nota
Como una base de datos es lo mismo que un esquema en MySQL, el nivel de base de datos de MySQL se asigna al nivel de esquema de Amazon Redshift. Tenga en cuenta esta diferencia de asignación cuando consulte datos replicados desde Aurora MySQL o RDS para MySQL.
Consulta de datos replicados
-
Vaya a la consola de Amazon Redshift y elija Editor de consultas v2.
-
Conéctese a su grupo de trabajo de Amazon Redshift sin servidor o al clúster aprovisionado de Amazon Redshift y elija su base de datos en la lista desplegable.
-
Utilice la instrucción SELECT para seleccionar todos los datos replicados del esquema y la tabla que creó en el origen. Para distinguir entre mayúsculas y minúsculas, utilice comillas dobles (" ") para los nombres de esquemas, tablas y columnas. Por ejemplo:
SELECT * FROM "
schema_name
"."table_name
";También puede consultar los datos mediante la API de datos de Amazon Redshift.
Consulta de datos replicados con vistas materializadas
Puede crear vistas materializadas en su base de datos local de Amazon Redshift para transformar los datos replicados mediante integraciones sin ETL. Conéctese a su base de datos local y utilice consultas entre bases de datos para acceder a las bases de datos de destino. Puede utilizar nombres de objetos totalmente cualificados con la notación de tres partes (destination-database-name.schema-name.table-name) o crear un esquema externo que haga referencia al par de base de datos y esquema de destino y usar la notación de dos partes (external-schema-name.table-name). Para obtener más información sobre las consultas entre bases de datos, consulte Consulta de datos entre bases de datos.
Utilice el siguiente ejemplo para crear e insertar datos de ejemplo en las tablas sales_zetl
y event_zetl
desde el origen tickit_zetl
. Las tablas se replican en la base de datos de 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");
Puede crear una vista materializada para obtener las ventas totales por evento mediante la notación de tres partes:
--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);
Puede crear una vista materializada para obtener las ventas totales por evento mediante la notación de dos partes:
--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 );
Para ver las vistas materializadas que ha creado, utilice el siguiente ejemplo.
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 | +-----------+-------------+
Consulta de datos replicados desde DynamoDB
Al replicar datos de Amazon DynamoDB a una base de datos de Amazon Redshift, se almacenan en una vista materializada en una columna del tipo de datos SUPER.
Para este ejemplo, los siguientes datos se almacenan en DynamoDB.
{ "key1": { "S": "key_1" }, "key2": { "N": 0 }, "payload": { "L": [ { "S": "sale1" }, { "S": "sale2" }, ] }, }
La vista materializada de Amazon Redshift se define de la siguiente manera.
CREATE MATERIALIZED VIEW mv_sales BACKUP NO AUTO REFRESH YES AS SELECT "value"."payload"."L"[0]."S"::VARCHAR AS first_payload FROM public.sales;
Para ver los datos en la vista materializada, ejecute un comando SQL.
SELECT first_payload FROM mv_sales;