Quiero cargar grandes volúmenes de datos de Amazon Simple Storage Service (Amazon S3) en Amazon Redshift y mantener un rendimiento óptimo.
Descripción corta
Para agregar datos de Amazon S3 a las tablas de Amazon Redshift, puedes usar el comando INSERT o COPY. Sin embargo, se recomienda utilizar el comando COPY porque es más eficaz. COPY utiliza una arquitectura de procesamiento paralelo masivo (MPP) para cargar simultáneamente datos de archivos en un bucket de S3.
Para ver otros métodos que puedes utilizar, consulta Carga de datos en Amazon Redshift.
Resolución
Ejecución de un comando COPY
Ejecuta solo un comando COPY para cargar una tabla. Si utilizas varios comandos COPY simultáneos para cargar una tabla desde varios archivos, Amazon Redshift realizará una carga serializada y podría ralentizarse.
Preparación de los archivos de datos
Para utilizar el comando COPY de manera eficiente, también debes preparar los archivos de datos. La cantidad de archivos y su tamaño afectan a las capacidades de procesamiento en paralelo.
Si especificas varios archivos en el comando COPY, Amazon Redshift carga los datos en paralelo. Para preparar los archivos de datos, asegúrate de que tengan aproximadamente el mismo tamaño, con un rango de 1 MB a 1 GB.
En el caso de un clúster aprovisionado por Redshift, se recomienda usar una cantidad de archivos que sea un múltiplo de la cantidad de segmentos. Para Amazon Redshift sin servidor, se recomienda utilizar un número de archivos que sea un múltiplo de 128. Para obtener más información, consulta Carga de archivos de datos.
Para obtener el número de sectores de un clúster aprovisionado por Redshift, ejecuta la siguiente consulta:
select count(*) from STV_SLICES where type = 'D';
Nota: Cuando especificas un archivo .csv, Parquet u ORC sin comprimir en el comando COPY, Amazon Redshift divide los archivos de más de 128 MB.
Supervisión del estado del comando COPY
Para ver el estado del comando COPY, puedes consultar las tablas del sistema.
Las tablas del sistema registran los detalles del comando COPY, incluidos el número de archivos, el tamaño del archivo y el número de filas cargadas. Puedes supervisar las tablas para determinar las mejoras de rendimiento que puedes realizar y la causa del error del comando COPY.
Para obtener más información sobre el comando COPY, consulta SYS_LOAD_HISTORY y SYS_LOAD_DETAIL.
Para obtener más información sobre los errores del comando COPY, consulta SYS_LOAD_ERROR_DETAIL.
Información relacionada
Prácticas recomendadas de Amazon Redshift para la carga de datos
Carga de tablas con el comando COPY
Carga de datos de archivos comprimidos y sin comprimir