Cómo Athena consulta datos en S3 con SQL

Clase 36 de 52Curso de Big Data en AWS

Resumen

AWS Athena permite ejecutar consultas SQL interactivas directamente sobre datos en Amazon S3 sin administrar servidores. Aquí verás cómo se conecta con Glue Catalog, qué formatos soporta y cómo encaja en un flujo de Big Data desde las fuentes hasta la visualización, con énfasis en integración nativa y seguridad granular.

¿Qué es AWS Athena y por qué importa en Big Data?

Athena es un servicio completamente administrado y serverless para consultar datos con SQL almacenados en S3. Se apoya en Glue Catalog para resolver el esquema y la ubicación de los archivos, permitiendo análisis ágiles sin crear ni operar servidores.

  • Consultas interactivas en SQL. Ejecutas queries sobre datos en S3 usando Glue Catalog como metastore.
  • Arquitectura serverless. Sin provisión ni administración de infraestructura.
  • Amplio soporte de formatos. CSV, JSON, Parquet, ORC y más.
  • Integración nativa en AWS. Se integra con Glue, S3, Redshift, DynamoDB y Kinesis.

¿Qué formatos y conectores admite?

  • Formatos de archivo: CSV, JSON, Parquet, ORC.
  • Conectividad con terceros: JDBC y ODBC para herramientas externas.
  • Cliente sugerido: SQL Workbench para ejecutar queries remotas contra Athena.

¿Cómo funciona la seguridad granular?

  • Permisos por base de datos y tabla definidos sobre el Glue Catalog.
  • Control de acceso para usuarios que solo deban consultar, por ejemplo, la tabla de usuarios.
  • Historial de queries para reutilizar consultas frecuentes de forma segura.

¿Cómo se integra Athena con S3, Glue Catalog y otros servicios?

La consulta ocurre así: Athena usa Glue Catalog para conocer esquemas y rutas; lee los datos en S3; ejecuta SQL; y devuelve resultados sin mover innecesariamente los archivos. Esta posición lo coloca como pieza central en la cadena de Big Data.

  • Con Glue y S3. Glue Catalog define tablas; los datos viven en S3; Athena consulta sobre ellos.
  • Con Redshift y DynamoDB. Integración para complementar análisis y cargas en el ecosistema.
  • Con Kinesis. Parte del flujo cuando los datos llegan por ingesta en tiempo cercano al real.
  • Con herramientas externas. Conexión vía JDBC/ODBC y clientes como SQL Workbench.

¿Qué beneficios aporta esta integración?

  • Menos acoplamiento: consultas sobre formatos abiertos en S3.
  • Rapidez para explorar datos sin ETL obligatoria.
  • Reutilización de esquemas en Glue Catalog.
  • Control de acceso consistente en tablas y bases.

¿Cómo usar Athena en un flujo de Big Data con visualización?

Imagina un flujo típico de extremo a extremo que conecta fuentes, procesamiento y visualización. Athena participa en varios puntos, permitiendo consultas en cada etapa sin fricción.

  • Fuentes de datos: una app móvil genera logs que se guardan en S3.
  • Descubrimiento inicial: un crawl sobre los logs permite verlos directo en Athena.
  • Procesamiento: transformación con EMR o AWS Glue para depurar y optimizar.
  • Almacenamiento preparado: los resultados van a un bucket de destino en S3.
  • Catálogo: se ejecuta un nuevo crawling para registrar las tablas en Glue Catalog.
  • Consulta: Athena lee el esquema y ejecuta SQL sobre el bucket de destino.
  • Almacén analítico: se alimenta un data warehouse en Redshift si se requiere.
  • Visualización: conexión de Athena con QuickSight para crear gráficas y paneles.

Habilidades que se ponen en práctica: - Escritura de queries SQL eficientes sobre datos en S3. - Configuración de conexiones JDBC/ODBC con clientes como SQL Workbench. - Ejecución de crawling y gestión de esquemas en Glue Catalog. - Definición de permisos por tabla y base para seguridad granular.

¿Has integrado Athena con QuickSight o con Redshift en tu entorno? Comparte tu experiencia y qué formatos te han funcionado mejor.