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 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 API de dados do Amazon Redshift.
Consultar dados replicados com visões materializadas
É 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
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);
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
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 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 |
+-----------+-------------+
Consultar dados replicados do DynamoDB
Quando você replica dados do Amazon DynamoDB para um banco de dados do Amazon Redshift, eles são armazenados em uma visão materializada em uma coluna do tipo de dados SUPER.
Neste exemplo, os dados a seguir são armazenados no DynamoDB.
{
"key1": {
"S": "key_1"
},
"key2": {
"N": 0
},
"payload": {
"L": [
{
"S": "sale1"
},
{
"S": "sale2"
},
]
},
}
A visão materializada do Amazon Redshift é definida como a seguir.
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 visualizar os dados na visão materializada, execute um comando SQL.
SELECT first_payload FROM mv_sales;