Consulta e criação de visões materializadas com dados replicados
Consulta de dados replicados no Amazon Redshift
Depois que você adicionar dados à origem, eles serão replicados quase em tempo real para o data warehouse do Amazon Redshift e estarão prontos para consulta. Para obter informações sobre métricas de integração e estatísticas de tabela, consulte Métricas para integrações ETL zero.
nota
Como um banco de dados é igual a um esquema no MySQL, o nível do banco de dados do MySQL é mapeado para o nível do esquema do Amazon Redshift. Observe essa diferença de mapeamento ao consultar dados replicados do Aurora MySQL ou do RDS for MySQL.
Como consultar os dados replicados
-
Navegue até o console do Amazon Redshift e escolha Editor de consultas v2.
-
Conecte-se ao grupo de trabalho do Amazon Redshift sem servidor ou ao cluster provisionado pelo Amazon Redshift e escolha o banco de dados na lista suspensa.
-
Use uma instrução SELECT para selecionar todos os dados replicados do esquema e da tabela criados por você na origem. Para diferenciar letras maiúsculas de minúsculas, use aspas duplas (" ") para nomes de esquema, tabela e coluna. Por exemplo:
SELECT * FROM "
schema_name
"."table_name
";Você também pode consultar os dados usando a CLI do Amazon Redshift.
Criação de visões materializadas com dados replicados
É possível criar visões materializadas no banco de dados do Amazon Redshift local para transformar dados replicados por meio de integrações ETL zero. Conecte-se ao banco de dados local e use consultas entre bancos de dados para acessar os bancos de dados de destino. É possível usar nomes de objeto totalmente qualificados com a notação em três partes (destination-database-name.schema-name.table-name) ou criar um esquema externo referenciando o par banco de dados/esquema de destino e usar a notação em duas partes (external-schema-name.table-name). Para obter mais informações sobre consultas entre bancos de dados, consulte Querying data across databases.
Use o exemplo a seguir para criar e inserir dados de exemplo nas tabelas sales_zetl
e event_zetl
da tickit_zetl
de origem. As tabelas são replicadas para o banco de dados do 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");
Você pode criar uma visão materializada para obter o total de vendas por evento usando a notação em três partes:
--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);
Você pode criar uma visão materializada para obter o total de vendas por evento usando a notação em duas 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 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 exibir as visões materializadas criadas por você, use o exemplo a seguir.
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 | +-----------+-------------+