

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Consulta de datos replicados en Amazon Redshift
<a name="zero-etl-using.querying-and-creating-materialized-views"></a>

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](zero-etl-using.metrics.md).

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

1. Vaya a la consola de Amazon Redshift y elija **Editor de consultas v2**.

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

1. 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
<a name="zero-etl-using.transforming"></a>

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](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html).

Utilice el siguiente ejemplo para crear e insertar datos de ejemplo en las tablas *sales\$1zetl* y *event\$1zetl* desde el origen *tickit\$1zetl*. Las tablas se replican en la base de datos de Amazon Redshift *zetl\$1int\$1db*.

```
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
<a name="zero-etl-using.querying-ddb"></a>

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