Primeros pasos en la arquitectura no transaccional

1

Objetivos y presentación del proyecto

2

Aprende qué es un Data Warehouse

3

Bases de datos columnares y arquitectura orientada a optimización de consultas

4

¿Cómo funciona AWS Redshift?

Configura tu entorno de trabajo para Redshift

5

Creando nuestro entorno de trabajo en AWS

6

Configura tu primer cluster

7

Consumiendo Redshift: empieza la magia

8

Sentencias SQL en Redshift

Cómo diseñar tu base de datos para mejorar su desempeño

9

¿Qué es la compresión en Redshift?

10

Algoritmos de compresión con Redshift

11

Aplicando algoritmos de compresión

12

Análisis de desempeño con diferentes tipos de compresión

13

Estilos de distribución con Redshift

14

Evaluando los estilos de distribución

15

Llaves de ordenamiento para optimizar nuestras consultas

16

Aplicando ordenamiento de columnas

17

Evaluando algoritmos de ordenamiento

18

Buenas prácticas para diseñar tablas en Redshift

19

Tipos de datos en AWS Redshift

20

Reto: mejora el desempeño de tu base de datos

Manipular enormes cantidades de datos

21

Olvídate de los insert, el copy llego para quedarse

22

Cargando archivos tipo JSON

23

El comando copy a fondo

24

Manifiestos y uso de COMPUPDATE para carga con compresión automática

25

Métodos de carga alternativos al comando copy

26

¿Cómo ejecutar sentencias UPDATE y DELETE?

27

¿Cómo mantener el desempeño de tu base de datos?

28

Estadísticas y limpieza de las tablas

Buenas prácticas para diseñar y ejecutar consultas en tu base de datos

29

Agrupamiento, ordenamiento y subqueries

30

¿Qué es y cómo interpretar un explain plan?

Análisis de comportamiento y descarga de datos con Redshift

31

¿Cómo descargar datos eficientemente con UNLOAD?

32

Otras tablas útiles de Redshift para entender el comportamiento de nuestros datos

Conclusiones

33

Próximos pasos con AWS Redshift

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Sentencias SQL en Redshift

8/33
Recursos

Aportes 15

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Para agregar el Rol al Cluster en la nueva interfaz. Hay que ir a:
AmazonRedshift > Clusters > Action > Manage IAM Roles
Ahi se selecciona el rol y se agrega al cluster. Después se va a poder observar dicho rol y su ARN en propiedades del cluster

Si no te carga los datos a la primera es por que debes usar iam_role en lugar de credentials :

copy users from
’s3://<Reemplazar_con_la_ruta_del_bucket>/tickit/allusers_pipe.txt’
iam_role 'aws_iam_role=<Reemplazar_con_tu_iam_role_arn>'
delimiter ‘|’
region ‘<Reemplazar_con_tu_aws_region>’;

Para que cargara los datos despues de crear las tablas tube que cerrar el script del SQL Editor, volverlo a abrir y listo 😃

Amazon Redshift utiliza una variante de PostgreSQL para procesar consultas SQL. Puedes interactuar con Redshift escribiendo sentencias SQL para tareas como creación de tablas, manipulación de datos, y consultas. Aquí están algunos ejemplos comunes de sentencias SQL utilizadas en Redshift: ### 1. **Creación de tablas** CREATE TABLE empleados ( id\_empleado INT IDENTITY(1, 1), nombre VARCHAR(50), apellido VARCHAR(50), fecha\_ingreso DATE, salario DECIMAL(10, 2) ); ### 2. **Cargar datos desde S3** Redshift permite cargar datos desde archivos almacenados en Amazon S3: COPY empleados FROM 's3://mi-bucket/datos/empleados.csv' CREDENTIALS 'aws\_access\_key\_id=TU\_ACCESS\_KEY;aws\_secret\_access\_key=TU\_SECRET\_KEY' CSV IGNOREHEADER 1; ### 3. **Consultas** * **Consulta básica**:SELECT nombre, apellido, salario FROM empleados WHERE salario > 50000; * **Ordenar resultados**:SELECT \* FROM empleados ORDER BY fecha\_ingreso DESC; * **Agrupación y funciones de agregación**:SELECT fecha\_ingreso, COUNT(\*) AS total\_empleados FROM empleados GROUP BY fecha\_ingreso HAVING COUNT(\*) > 1; ### 4. **Actualizar datos** UPDATE empleados SET salario = salario \* 1.10 WHERE fecha\_ingreso < '2020-01-01'; ### 5. **Eliminar datos** DELETE FROM empleados WHERE fecha\_ingreso < '2010-01-01'; ### 6. **Uniones (JOIN)** SELECT e.nombre, e.apellido, d.nombre AS departamento FROM empleados e JOIN departamentos d ON e.id\_departamento = d.id\_departamento; ### 7. **Creación de vistas** CREATE VIEW vista\_empleados\_activos AS SELECT id\_empleado, nombre, apellido FROM empleados WHERE estado = 'activo'; ### 8. **Funciones analíticas** SELECT nombre, apellido, salario, RANK() OVER (ORDER BY salario DESC) AS rank\_salario FROM empleados; ### 9. **Optimización de consultas** Para optimizar tus consultas en Redshift: * **Sort Keys**: Define claves de ordenamiento para optimizar consultas frecuentes.CREATE TABLE empleados ( id\_empleado INT, nombre VARCHAR(50), salario DECIMAL(10, 2) ) SORTKEY (salario); * **Dist Keys**: Define claves de distribución para optimizar operaciones que implican varias nodos.CREATE TABLE ventas ( id\_venta INT, id\_producto INT, total DECIMAL(10, 2) ) DISTKEY (id\_producto);

Para el COPY, ahora la estructura es:

copy users from 's3://mibucketredshift-al/tickitdb/allusers_pipe.txt’
iam_role 'arn:aws:iam::562393340633:role/MiRoleRedshift’
delimiter ‘|’ region ‘us-east-2’;

en iam_role -> ya no va ‘aws_iam_role…’… sino que directamente va ‘arn:aws:iam::…’

Conceptos de llaves de distribución y llaves de ordenamiento

Al intentar ejecutar solo el primer COPY del Script, este tarda mas de 600 segundos y me arroja el siguiente error:

Por que pasa esto?

Me aparece este error alguien sabe que puede ser? ![](https://static.platzi.com/media/user_upload/image-ff7ee48c-0be8-4edd-aa8a-da76e4a5db9d.jpg)

distkey & sortkey en bases de datos columnares

Me quedo asi:

copy users from 's3://mibucketredshift1/tickitdb/allusers_pipe.txt' 
iam_role 'arn:aws:iam::701140430062:role/MyRolRedshift' 
delimiter '|' region 'us-east-1';

copy venue from 's3://mibucketredshift1/tickitdb/venue_pipe.txt' 
iam_role 'arn:aws:iam::701140430062:role/MyRolRedshift' 
delimiter '|' region 'us-east-1';

copy category from 's3://mibucketredshift1/tickitdb/category_pipe.txt' 
iam_role 'arn:aws:iam::701140430062:role/MyRolRedshift' 
delimiter '|' region 'us-east-1';

copy date from 's3://mibucketredshift1/tickitdb/date2008_pipe.txt' 
iam_role 'arn:aws:iam::701140430062:role/MyRolRedshift' 
delimiter '|' region 'us-east-1';

copy event from 's3://mibucketredshift1/tickitdb/allevents_pipe.txt' 
iam_role 'arn:aws:iam::701140430062:role/MyRolRedshift' 
delimiter '|' timeformat 'YYYY-MM-DD HH:MI:SS' region 'us-east-1';

copy listing from 's3://mibucketredshift1/tickitdb/listings_pipe.txt' 
iam_role 'arn:aws:iam::701140430062:role/MyRolRedshift' 
delimiter '|' region 'us-east-1';

copy sales from 's3://mibucketredshift1/tickitdb/sales_tab.txt'
iam_role 'arn:aws:iam::701140430062:role/MyRolRedshift'
delimiter '\t' timeformat 'MM/DD/YYYY HH:MI:SS' region 'us-east-1';




SELECT * FROM sales LIMIT 10;

SELECT COUNT(0) FROM listing;

Hola,

Les comparto la documentación del comando COPY con información muy valiosa así como ejemplos que demuestran el poder de dicho comando 😃

AQUI!

SQL Error [500310] [XX000]: Amazon Invalid operation: Cannot COPY into nonexistent table users;

Hola comunidad, tampoco me pude conectar 😦, voy hacer otro curso y regreso.

En properties esta la siguiente opción, para el ARN, di click en Manage, y añadí el rol con el ARN:

interesante