Consulta e criação de visões materializadas com dados replicados - Amazon Redshift

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
  1. Navegue até o console do Amazon Redshift e escolha Editor de consultas v2.

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

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