Carga de datos en Amazon Redshift
Existen varias formas de cargar datos en una base de datos de Amazon Redshift. Un origen popular de datos para cargar son los archivos de Amazon S3. En la siguiente tabla se resumen algunos de los métodos que se utilizarán al empezar desde un origen de Amazon S3.
Método a utilizar | Descripción | Cuando se necesita un método |
---|---|---|
COPY command |
Ejecuta una ingesta de archivos por lotes para cargar datos de los archivos de Amazon S3. Este método aprovecha las capacidades de procesamiento en paralelo de Amazon Redshift. Para obtener más información, consulte Carga de tablas con el comando COPY. |
Debe usarse cuando se necesiten requisitos básicos de carga de datos para iniciar la ingesta manual de archivos por lotes. Este método se utiliza principalmente con canalizaciones de ingesta de archivos personalizadas y de terceros o cargas de trabajo de ingesta de archivos puntuales. |
COPY... Comando CREATE JOB (copia automática) |
Ejecuta los comandos COPY automáticamente cuando se crea un nuevo archivo en las rutas rastreadas de Amazon S3. Para obtener más información, consulte Carga de archivos con ingesta continua de archivos desde Amazon S3 (versión preliminar). |
Se debe usar cuando una canalización de ingesta de archivos necesite ingerir datos automáticamente al crear un nuevo archivo en Amazon S3. Amazon Redshift hace un seguimiento de los archivos que se pueden ingerir para evitar la duplicación de datos. Este método requiere que los propietarios de los buckets de Amazon S3 lo configuren. |
Carga desde consultas de lagos de datos |
Cree tablas externas para ejecutar consultas de lagos de datos en los archivos de Amazon S3 y, a continuación, ejecute el comando INSERT INTO para cargar los resultados de las consultas de los lagos de datos en las tablas locales. Para obtener más información, consulte Tablas externas para Redshift Spectrum. |
Se debe utilizar en cualquiera de los siguientes escenarios:
|
Otros métodos que puede considerar | ||
Ingesta de streaming |
La ingesta de streaming proporciona una ingesta de alta velocidad y baja latencia de datos de flujos de Amazon Kinesis Data Streams y Amazon Managed Streaming para Apache Kafka en una vista materializada de Amazon Redshift aprovisionado o Redshift sin servidor. Para obtener más información, consulte Introducción a la ingesta de streaming de Amazon Kinesis Data Streams y Introducción a la ingesta de streaming de Amazon Managed Streaming para Apache Kafka (Amazon MSK). |
Debe tenerse en cuenta para los casos de uso en los que los datos se transmiten primero a archivos en Amazon S3 y, después, se cargan desde Amazon S3. Si no es necesario conservar los datos en Amazon S3, a menudo puede considerar la posibilidad de transmitirlos directamente a Amazon Redshift. |
Ejecución de consultas del lago de datos |
Ejecución de consultas directamente desde una tabla de un lago de datos en lugar de ingerir el contenido de la tabla a una tabla local. Para obtener más información, consulte Amazon Redshift Spectrum. |
Se debe usar cuando el caso de uso no requiera el rendimiento de consultas de tablas locales en Amazon Redshift. |
Carga por lotes con el editor de consultas de Amazon Redshift v2 |
Puede preparar y ejecutar las cargas de trabajo de ingesta de archivos por lotes visualmente en el editor de consultas de Amazon Redshift v2. Para obtener más información, consulte Carga de datos desde S3 en la Guía de administración de Amazon Redshift. |
Se debe usar cuando desee que el editor de consultas v2 prepare las instrucciones COPY y desee una herramienta visual que simplifique el proceso de preparación de las instrucciones COPY. |
Carga de datos desde un archivo local con el editor de consultas de Amazon Redshift v2 |
Puede cargar archivos directamente desde el escritorio a las tablas de Amazon Redshift sin necesidad de cargar los archivos manualmente en Amazon S3. Para obtener más información, consulte Carga de datos desde una configuración de archivo local y flujo de trabajo en la Guía de administración de Amazon Redshift. |
Se debe usar cuando necesite cargar archivos rápidamente desde el equipo local para realizar consultas únicas. Con este método, el editor de consultas de Amazon Redshift v2 almacena temporalmente el archivo en un bucket de Amazon S3 propiedad del cliente y ejecuta un comando de copia mediante esta ruta de Amazon S3. |
La forma más eficiente de cargar una tabla es mediante el comando COPY. También puede agregar datos a las tablas mediante el uso de los comandos INSERT, aunque ese método es menos efectivo que usar COPY. El comando COPY puede leer datos de diferentes archivos y flujos de datos de forma simultánea. Amazon Redshift asigna la carga de trabajo a los nodos de Amazon Redshift y realiza las operaciones de carga en paralelo, incluida la ordenación de las filas y la distribución de los datos entre los sectores de los nodos.
nota
Las tablas externas de Amazon Redshift Spectrum solo se pueden leer. No puede utilizar COPY ni INSERT en una tabla externa.
Para acceder a los datos en otros recursos de AWS, Amazon Redshift debe tener permiso para acceder a tales recursos y para realizar las acciones necesarias para acceder a los datos. Puede usar AWS Identity and Access Management (IAM) para limitar el acceso de los usuarios a los datos y recursos de Amazon Redshift.
Tras la carga de datos inicial, si agrega, modifica o elimina una cantidad de datos significativa, a continuación debe ejecutar un comando VACUUM para reorganizar los datos y recuperar espacio tras las eliminaciones. También debe ejecutar un comando ANALYZE para actualizar las estadísticas de la tabla.
Temas
- Carga de tablas con el comando COPY
- Carga de archivos con ingesta continua de archivos desde Amazon S3 (versión preliminar)
- Carga de tablas con comandos DML
- Realización de una copia profunda
- Análisis de tablas
- Limpieza de tablas
- Administración de operaciones de escritura simultáneas
- Tutorial: Carga de datos desde Amazon S3