DynamoDB es una base de datos NoSQL ofrecida por AWS de baja latencia y alta disponibilidad, lo que la convierte en una opción óptima para aplicaciones que requieren un escalado ágil y sencillo. Con DynamoDB, AWS proporciona una solución rica en funciones que te permite manejar fácilmente cargas de trabajo en crecimiento.
Athena es una herramienta robusta de análisis de datos que yace dentro del ecosistema de AWS. Empodera a los usuarios con la capacidad de consultar una variedad de fuentes de datos utilizando el familiar lenguaje SQL. Ya sea que te sumerjas en tareas de inteligencia empresarial u otros esfuerzos analíticos, Athena simplifica el proceso y te permite obtener ideas significativas de tus datos.
Conectar Amazon Athena a Amazon DynamoDB ofrece una forma potente de analizar datos almacenados en DynamoDB mediante consultas SQL. Esta integración puede ser valiosa en varios escenarios del mundo real.
- Análisis de Conjuntos de Datos Extensos: Si tus tablas de DynamoDB almacenan grandes volúmenes de datos, ejecutar consultas complejas directamente en las tablas de DynamoDB podría ser lento y requerir muchos recursos. Con Amazon Athena, puedes ejecutar consultas utilizando SQL, lo que puede ser más rápido y eficiente para analizar conjuntos de datos extensos
- Inteligencia Empresarial e Informes: Athena puede ayudarte a generar informes y realizar tareas de inteligencia empresarial en los datos de DynamoDB. Puedes utilizar consultas SQL para agregar, filtrar y transformar datos y obtener información sobre el comportamiento del cliente, las tendencias de ventas o las métricas operativas."
Hay muchas otras cosas que puedes hacer con ambas herramientas. Para conectar DynamoDB como fuente de datos de Athena, necesitas crear una función de lambda para ser un conector entre ambas herramientas, pero no te preocupes, la Consola de AWS te indica prácticamente qué hacer.
Vamos a la práctica
Requisitos previos
- Cuenta de AWS (para propósitos experimentales, utiliza una cuenta de administrador propia)
Tabla de DynamoDB con el conjunto de datos con el que deseas experimentar (Puedes utilizar esta: https://github.com/pacozaa/DynamoDB-Coffee-Data-Generator)
- El coste debería ser GRATUITO pero puedes establecer el presupuesto de AWS y comprobar AWS Cost Explorer para tu tranquilidad.
- Experiencia básica en Lambda es un plus.
- Experiencia básica en Athena es en plus.
- Experiencia básica enenasic S3 es un plus.
Athena Parte 1
- Ve a la consola Athena, abre el menú de la izquierda y haz clic en Fuentes de datos.
2. Da click en " Create data source"
3. Elije Amazon DynamoDB como "data source"
4. Completa el formulario: Agrega el nombre de la fuente de datos que prefieras.
5. Desplázate hacia abajo y verás el apartado de "Detalles de conexión" Aquí es donde debes eligir o crea la función Lambda que desees utilizar como conector a DynamoDB.
En caso de que no lo tengas haz clic en la función Create Lambda. Esto abrirá la página de AWS Lambda con la configuración de la Aplicación que está casi lista para que la despliegues
Función Lambda
- AWS te llevará a la página de creación de Lambda> Aplicaciónes con la configuración predeterminada para AthenaDynamoDBConnector
- Para ver el formulario desplázete hacia abajo podrás rellenar el Nombre de la aplicación y SpillBucket.
- Nombre de la aplicación -> Agrega el nombre personalizado que desees.
- SpillBucket -> Introduce el nombre en el campo de texto que desee utilizar como SpillBucket.
3. Configuración de Next Connector.
- AthenaCatalogName-> Aquí agrega también el nombre personalizado que desees.
- SpillPrefix-> Agrega el prefijo que se usará dentro del cuadro de texto.
4. Haz clic en "Deploy"
5. Tras el despliegue, comprueba el resultado en el Dashboard de Lambda - Applicaciones - Funciones.
Athena Parte 2
- Ahora podemos regresar a la sección AWS Athena que pausamos en la Parte 1
- Haz clic en siguiente para terminar de crear el origen de datos. Su fuente de datos debe tener Bases de datos asociadas con la base de datos que desea como fuente de datos
Editor de Athena Query
- Ve al editor Query de Athena.
- Selecciona la fuente de datos de DynamoDB que acabas de crear en el desplegable Data sourcedropdown y la base de datos que desees, que en este caso debería ser la predeterminada.
- Intenta ejecutar el editor SQL interactivo con esta consulta.
SELECT count(*)
FROM “table_name”
;
Esto contará cuantas filas tiene tu base de datos(En este caso mi tabla se llama coffeemagic)
Ejecuta la consulta
4. Verás este error si aún no has creado un bucket S3 con el mismo nombre. Ve a S3 y créalo.
5. Puedes comprobar el nombre del bucket en Lambda>Funciones>[El nombre de su función para el conector DynamoDB] y en seguida dirígete a la pestaña Configuración>Variables de entorno>spill_bucket
6. Ejecuta la consulta de nuevo, esta vez deberías ver el resultado deseado.
Nota: Si tienes algún problema con los permisos, comprueba tu política de usuario IAM o Lambda>Configuración>Permisos.
Conclusión
Diviértete con DynamoDB con SQL en Athena Query Editor. Mejora tu análisis de datos, agiliza las operaciones y tome decisiones informadas en tiempo real.
Pónte en contacto con nosotros ahora para revolucionar tu infraestructura de datos e impulsar a tu empresa hacia la eficiencia y el éxito.