Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Carga de datos desde DynamoDB en Amazon Redshift con el comando COPY

Modo de enfoque
Carga de datos desde DynamoDB en Amazon Redshift con el comando COPY - Amazon DynamoDB

Amazon Redshift trabaja con Amazon DynamoDB con prestaciones avanzadas de inteligencia empresarial y una potente interfaz basada en SQL. Cuando se copian datos de una tabla de DynamoDB en Amazon Redshift, se pueden llevar a cabo consultas complejas de análisis de esos datos, lo que incluye uniones con otras tablas del clúster de Amazon Redshift.

En lo que respecta al rendimiento aprovisionado, una operación de copia desde una tabla de DynamoDB consume capacidad de lectura de esa tabla. Después de copiar los datos, las consultas SQL que se llevan a cabo en Amazon Redshift no afectan a DynamoDB de ningún modo. El motivo es que las consultas se ejecutan en una copia de los datos de DynamoDB y no en DynamoDB propiamente dicho.

Para poder cargar datos desde una tabla de DynamoDB, antes debe crear una tabla de Amazon Redshift que actuará como destino de los datos. Tenga en cuenta que, al hacerlo, estará copiando datos de un entorno NoSQL en un entorno SQL y que hay reglas que no se aplican por igual en ambos. A continuación se muestran algunas de las diferencias que deben tenerse en cuenta:

  • Los nombres de las tablas de DynamoDB pueden contener un máximo de 255 caracteres, incluidos “.” el punto “_”. Además, distinguen entre mayúsculas y minúsculas. Los nombres de las tablas de Amazon Redshift están limitados a 127 caracteres, no pueden contener puntos ni guiones y no distinguen entre mayúsculas y minúsculas. Los nombres de las tablas tampoco pueden entrar en conflicto con ninguna palabra reservada de Amazon Redshift.

  • DynamoDB no admite el concepto NULL de SQL. Debe especificar cómo debe interpretar Amazon Redshift los valores de atributos vacíos o en blanco de DynamoDB, para que los trate como NULL o como campos vacíos.

  • Los tipos de datos de DynamoDB no se corresponden directamente con los de Amazon Redshift. Debe asegurarse de que cada columna de la tabla de Amazon Redshift sea del tipo y el tamaño de datos correctos para adaptarse a los datos de DynamoDB.

A continuación se muestra un ejemplo de comando COPY de SQL en Amazon Redshift:

copy favoritemovies from 'dynamodb://my-favorite-movies-table' credentials 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_access_key=<Your-Secret-Access-Key>' readratio 50;

En este ejemplo, la tabla de origen de DynamoDB es my-favorite-movies-table. La tabla de destino de Amazon Redshift esfavoritemovies. La cláusula readratio 50 regula el porcentaje de desempeño provisionado que se consume; en este caso, el comando COPY utilizará como máximo un 50 % de las unidades de capacidad de lectura provisionadas para my-favorite-movies-table. Recomendamos encarecidamente establecer este porcentaje en un valor menor que el promedio de desempeño provisionado sin utilizar.

Para obtener instrucciones detalladas sobre cómo cargar datos desde DynamoDB en Amazon Redshift, consulte las secciones siguientes de la Guía para desarrolladores de bases de datos Amazon Redshift:

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.