Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Consulta de las tablas de Amazon DynamoDB con SQL mediante Amazon Athena
Gavin Perrie, Ajit Ambike y Brad Yates, Amazon Web Services
Resumen
Si sus datos incluyen orígenes distintos de Amazon Simple Storage Service (Amazon S3), puede utilizar consultas federadas para acceder a esos orígenes de datos relacionales, no relacionales, de objetos o personalizados. Este patrón muestra cómo configurar el acceso a consultas federadas de Amazon Athena a Amazon DynamoDB mediante un conector de origen de datos SQL.
Con este patrón, puede hacer lo siguiente:
Consultar tablas de DynamoDB mediante SQL.
Hacer consultas SQL federadas en Athena y combinar tablas de DynamoDB con otros orígenes de datos compatibles.
Requisitos previos y limitaciones
Requisitos previos
Una tabla de DynamoDB.
Un grupo de trabajo de Athena configurado para utilizar el la versión 2 del motor Athena. Para obtener instrucciones, consulte la documentación de Athena.
Un depósito de S3 donde la
AthenaDynamoDBConnectorAWS Lambda función puede filtrar los datos. La función de Lambda debe estar en la misma región de AWS que el bucket de S3.
Si es la primera vez que accede a Athena, necesitará un bucket de S3 adicional para usarlo como ubicación de los resultados de la consulta. Para obtener instrucciones, consulte la documentación de Athena.
Limitaciones
No se admiten operaciones de escritura como INSERT INTO.
Versiones de producto
Arquitectura
Arquitectura de destino
El siguiente diagrama muestra el flujo de conexión después de establecer el patrón. El usuario se conecta a Amazon Athena para realizar la consulta. Athena pasa la consulta y el destino a la función de Lambda del conector del origen de datos de DynamoDB, que recupera y devuelve los datos a Athena. Si se devuelven grandes cantidades de datos, Athena almacena los resultados temporales en el bucket de desbordamiento antes de empaquetar y devolver el conjunto de datos completo.

Tools (Herramientas)
Servicios de AWS
Amazon Athena es un servicio interactivo de consultas que le permite analizar datos directamente en Amazon Simple Storage Service (Amazon S3) usando SQL estándar. Este patrón utiliza Amazon Athena DynamoDB Connector, una herramienta
creada con el SDK de Amazon Athena Query Federation e instalada como una aplicación a través del. AWS Lambda AWS Serverless Application Repository Amazon DynamoDB es un servicio de base de datos de NoSQL completamente administrado que ofrece un rendimiento rápido, predecible y escalable.
AWS Lambda es un servicio de computación que ayuda a ejecutar código sin necesidad de aprovisionar ni administrar servidores. Ejecuta el código solo cuando es necesario y amplía la capacidad de manera automática, por lo que solo pagará por el tiempo de procesamiento que utilice.
Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos basado en la nube que lo ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.
Repositorio de código
El código de este patrón está disponible en el repositorio de GitHub Athena Query Federation
Epics
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Implemente la AthenaDynamo DBConnector aplicación. | Para AthenaDynamo DBConnecter implementarla, haga lo siguiente:
| AWS DevOps |
Cree un origen de datos para Athena. | Para crear un origen de datos, haga lo siguiente:
| AWS DevOps |
Utilice Athena para consultar la tabla de DynamoDB. | Para consultar la tabla de DynamoDB, haga lo siguiente:
| Desarrollador de aplicaciones |
Resolución de problemas
| Problema | Solución |
|---|---|
La consulta devuelve el error | Asegúrese de que el bucket de desbordamiento de Athena y la función de Lambda estén creadas en la misma Región de AWS. |
El origen de datos recién creado no está visible en la consola de Athena. | Los catálogos de datos de Athena son regionales. Asegúrese de que |
No puede poner en marcha la consulta en el origen de datos recién creado. | Compruebe que se haya definido Ubicación del resultado de la consulta. |