Este es el tipo de cursos que valen mucho la pena, con escenarios reales y bien explicados !
Primeros pasos en la arquitectura no transaccional
Objetivos y presentación del proyecto
Aprende qué es un Data Warehouse
Bases de datos columnares y arquitectura orientada a optimización de consultas
¿Cómo funciona AWS Redshift?
Configura tu entorno de trabajo para Redshift
Creando nuestro entorno de trabajo en AWS
Configura tu primer cluster
Consumiendo Redshift: empieza la magia
Sentencias SQL en Redshift
Cómo diseñar tu base de datos para mejorar su desempeño
¿Qué es la compresión en Redshift?
Algoritmos de compresión con Redshift
Aplicando algoritmos de compresión
Análisis de desempeño con diferentes tipos de compresión
Estilos de distribución con Redshift
Evaluando los estilos de distribución
Llaves de ordenamiento para optimizar nuestras consultas
Aplicando ordenamiento de columnas
Evaluando algoritmos de ordenamiento
Buenas prácticas para diseñar tablas en Redshift
Tipos de datos en AWS Redshift
Reto: mejora el desempeño de tu base de datos
Manipular enormes cantidades de datos
OlvÃdate de los insert, el copy llego para quedarse
Cargando archivos tipo JSON
El comando copy a fondo
Manifiestos y uso de COMPUPDATE para carga con compresión automática
Métodos de carga alternativos al comando copy
¿Cómo ejecutar sentencias UPDATE y DELETE?
¿Cómo mantener el desempeño de tu base de datos?
EstadÃsticas y limpieza de las tablas
Buenas prácticas para diseñar y ejecutar consultas en tu base de datos
Agrupamiento, ordenamiento y subqueries
¿Qué es y cómo interpretar un explain plan?
Análisis de comportamiento y descarga de datos con Redshift
¿Cómo descargar datos eficientemente con UNLOAD?
Otras tablas útiles de Redshift para entender el comportamiento de nuestros datos
Conclusiones
Próximos pasos con AWS Redshift
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
El comando COPY es una poderosa herramienta en Redshift que permite transferir datos de un bucket en AWS S3 a tablas alojadas en este sistema. Este comando es altamente versátil gracias a sus múltiples parámetros y flags, lo que facilita la manipulación de datos en la migración. Aquà exploraremos cómo se usan algunos de los parámetros más comunes y útiles del comando COPY.
Antes de realizar la importación a Redshift, es esencial preparar adecuadamente los archivos de origen. Estos archivos deben estar almacenados en un bucket de S3.
Primero, debemos crear una tabla en Redshift que sea capaz de recibir la misma estructura de los archivos CSV.
CREATE TABLE estudiante (
ID INT,
nombre VARCHAR(20),
apellido VARCHAR(20),
edad INT,
fecha_ingreso DATE
);
Asegúrate de que los tipos de datos en la tabla coincidan con el contenido de los archivos para evitar errores durante el proceso de carga.
Redshift ofrece varios parámetros en el comando COPY para controlar cómo se cargan los datos. Algunos de los parámetros más comunes incluyen:
Delimitador:
DELIMITER
para especificar este carácter. Ejemplo: DELIMITER ';'
.Manejo de encabezados:
IGNOREHEADER 1
para omitirla durante la carga.LÃneas en blanco y valores nulos:
BLANKSASNULL
para convertir las celdas en blanco en valores nulos, que serÃan representados con NULL
en la base de datos.IGNOREBLANKLINES
ayuda a omitir totalmente las lÃneas en blanco en el archivo CSV.Formato de fecha:
DATEFORMAT
para adaptar diferentes formatos de fecha. Ejemplo: DATEFORMAT 'MM/DD/YYYY'
.Es común que se presenten errores al ejecutar el comando COPY. Redshift ofrece la posibilidad de verificar los errores mediante un log conocido como stl_load_errors
. Para investigar más sobre un error especÃfico:
Ejecuta una consulta sobre stl_load_errors
para identificar la causa del error:
SELECT * FROM stl_load_errors WHERE session = <session_id>;
Evalúa el error especÃfico, ajusta parámetros y vuelve a intentar cargar los datos.
Con estos consejos y una correcta configuración del comando COPY, podrás gestionar eficientemente tus cargas de datos en Redshift, optimizando tanto tiempo como recursos en tu flujo de desarrollo y análisis de datos. ¡Sigue explorando el potencial de Redshift y sus herramientas para mejorar la forma en que gestionas y analizas tus datos!
Aportes 9
Preguntas 1
Este es el tipo de cursos que valen mucho la pena, con escenarios reales y bien explicados !
Les dejo los querys:
CREATE TABLE estudiante (
id int2,
nombre varchar(20),
apellido varchar(20),
edad int2,
fecha_ingreso date
);
SELECT * FROM estudiante;
copy estudiante FROM 's3://mibucketredshift/primer_cargue.csv'
credentials 'aws_iam_role=arn:aws:iam::XXXXXX:role/MiRolRedshift'
region 'us-east-2'
delimiter ';'
ignoreheader 1
ignoreblanklines;
TRUNCATE TABLE estudiante;
copy estudiante FROM 's3://mibucketredshift/primer_cargue.csv'
credentials 'aws_iam_role=arn:aws:iam::XXXXXX:role/MiRolRedshift'
region 'us-east-2'
delimiter ';'
ignoreheader 1
ignoreblanklines
blanksasnull;
copy estudiante FROM 's3://mibucketredshift/segundo_cargue.csv'
credentials 'aws_iam_role=arn:aws:iam::XXXXXX:role/MiRolRedshift'
region 'us-east-2'
delimiter ';'
ignoreheader 1
ignoreblanklines
blanksasnull
dateformat 'mm-dd-yyyy';
Hasta ahora este curso a sido el mejor de la ruta data science, lo mas tipico es encontrar esos errores en archivos, excelente clase
Ayer trabajando en un pequeño proyecto tuve que cargar la data de un csv a una BD MySQL, y aunque lo hice por medio de un script de python, me enfrenté con problemas muy similares a los mostrados aquÃ. La mayorÃa los resolvà limpiando el dataset.
Muy bien en poner ejercicios con cosas que pasan en la vida real.
Buena clase, algo similar me paso al cargar en Snowflake con los delimitadores, blanks, headers y formatos de fecha, estoy de acuerdo en que estos son los errores tÃpicos (comunes) en las cargas.
excelente clase y Carlos como profesor excelente
Esta clase esta increible!
CREATE TABLE estudiante
(
id int2,
nombre varchar(20),
apellido varchar(20),
edad int2,
fecha_ingreso date
);
select * FROM estudiante;
truncate table estudiante;
copy estudiante FROM 's3://mybucketredshiftsantiago/primer_cargue.csv'
credentials 'aws_iam_role=arn:aws:iam::XXXX:role/MiRoleRedshift'
region 'us-east-2'
delimiter ';'
ignoreheader 1
ignoreblanklines
blanksasnull
;
select * FROM stl_load_errors;
select * FROM estudiante;
copy estudiante FROM 's3://mybucketredshiftsantiago/segundo_cargue.csv'
credentials 'aws_iam_role=arn:aws:iam::XXXX:role/MiRoleRedshift'
region 'us-east-2'
delimiter ';'
ignoreheader 1
ignoreblanklines
blanksasnull
dateformat 'mm-dd-yyyy'
;
select * FROM estudiante;
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?