Athena es un servicio de consultas
interactivo para el análisis de datos, no estructurados, semiestructurados y
estructurados sobre Amazon S3 bajo SQL estándar. Carece de servidor (Serverless)
por lo que no se requiere la administración de infraestructura.
Athena
nos permite trabajar directamente con SQL estándar siendo muy sencillo de
implantar y comenzar a trabajar, únicamente disponiendo de habilidades SQL se
pueden analizar conjuntos de datos a gran escala de forma rápida y sencilla. Tampoco
es necesario realizar trabajos complejos de ETL para preparar los datos para su
análisis. En proyectos de Big Data, estas fases pueden llegar a suponer un
máximo del 70% del tiempo empleado durante todo el proyecto, respondiendo un 30% a
procesos de análisis de datos propiamente dichos.
Se puede integrar de serie con el catálogo
de datos de AWS Glue, lo que permite crear un repositorio
de metadatos unificado en diversos servicios, rastrear fuentes de datos para
descubrir esquemas y rellenar catálogos con definiciones de particiones, tablas
nuevas, modificadas y mantener las versiones de los esquemas. Glue también
ofrece capacidades de ETL para transformar datos o convertirlo en formatos de
columna.
Athena
nos plantea una opción interesante a la hora de comenzar a aplicar un proceso
análisis de información sobre un conjunto de datos almacenados en S3, de forma rápida y
sencilla empleando técnicas de Data Mining y de esta manera reduciendo los
tiempos de desarrollo e implantación al mínimo de enfoques tradicionales.
La analítica descriptiva consiste en almacenar y realizar agregaciones de datos históricos, visualizándolos de forma que puedan ayudar a la comprensión del estado actual y pasado del negocio. La analítica descriptiva nos cuenta cómo ha funcionado nuestro negocio hasta la fecha. Nos permite, por ejemplo:
¿Cómo funciona ? La analítica descriptiva se basa en trabajar sobre un sistema de almacenamiento donde se encuentran concentrados los datos de negocio. Este sistema puede tratarse de ficheros distribuidos al estilo Hadoop y derivados, bases de datos NoSQL, o sistemas SQL más tradicionales; todo ello dependiendo de la cantidad y complejidad de los datos a manejar. Sobre esta capa de almacenamiento se despliegan tecnologías que permitan el procesado de estos datos de forma que puedan efectuarse las agregaciones y consultas necesarias para el análisis. Es en este punto donde Athena nos permite una integración totalmente transparente, pudiendo procesar casi cualquier fuente de datos.
La analítica descriptiva consiste en almacenar y realizar agregaciones de datos históricos, visualizándolos de forma que puedan ayudar a la comprensión del estado actual y pasado del negocio. La analítica descriptiva nos cuenta cómo ha funcionado nuestro negocio hasta la fecha. Nos permite, por ejemplo:
- Detectar qué fármacos tiene una mayor efectividad.
- Visualizar cómo se distribuyen geográficamente las personas que toman parte en un estudio clínico.
- Observar la evolución histórica del gasto en fármacos por periodos temporales y/o geográficos.
- Identificar qué fármacos tienen una mayor efectividad por rango de edades y/o dosis durante el estudio recibidas.
- Proyecciones de cara a futuro teniendo en cuenta el comportamiento actual.
- Clusterización, permite fijar sobre la población el conjunto de grupos posibles, en base a sus características pudiendo determinar para un nuevo individuo su cluster determinado por sus propiedades.
- Calcular y visualización de KPIs, que resumirán el estado del negocio.
¿Cómo funciona ? La analítica descriptiva se basa en trabajar sobre un sistema de almacenamiento donde se encuentran concentrados los datos de negocio. Este sistema puede tratarse de ficheros distribuidos al estilo Hadoop y derivados, bases de datos NoSQL, o sistemas SQL más tradicionales; todo ello dependiendo de la cantidad y complejidad de los datos a manejar. Sobre esta capa de almacenamiento se despliegan tecnologías que permitan el procesado de estos datos de forma que puedan efectuarse las agregaciones y consultas necesarias para el análisis. Es en este punto donde Athena nos permite una integración totalmente transparente, pudiendo procesar casi cualquier fuente de datos.
A la hora de trabajar con Athena nos podemos encontrar los siguientes componentes:
Ø Los datos subyacentes, representados
dentro de un bucket en Amazon S3.
Ø Los metadatos, tablas y bases de datos,
que serán gestionados por medio de AWS Glue Data Catalog.
Ø Visualización y ejecución de consultas
SQL estándar. Podremos trabajar directamente sobre la consola de AWS, por medio
de una conexión JDBC y un visor SQL, empleando el API de Athena, o bien AWS CLI,
que se trata de una herramienta de código abierto basada en el AWS SDK for
Python (Boto) que proporciona comandos para interactuar con los servicios de
AWS.
Ø Herramientas de BI. De todo el abanico de posibilidades una de las más sencillas de usar y que mayor funcionalidades y capacidades de integración aporta es Tableau. Nos permiten desarrollar de una forma visual y totalmente intuitiva desarrollar el análisis de los datos, pudiendo introducir la agregaciones necesarias y la combinación de diferentes fuentes de datos.
Ø Herramientas de BI. De todo el abanico de posibilidades una de las más sencillas de usar y que mayor funcionalidades y capacidades de integración aporta es Tableau. Nos permiten desarrollar de una forma visual y totalmente intuitiva desarrollar el análisis de los datos, pudiendo introducir la agregaciones necesarias y la combinación de diferentes fuentes de datos.
Vamos a desarrollar un pequeño ejemplo, para ello vamos a disponer de un pequeño fichero que va a contener información sobre estudios clínicos, estos van a contener información para los diferentes pacientes con sus enfermedades asociadas, fármacos empleados, coste de los fármacos, fechas en las cuales se ha tomado parte, dosis empleadas, etc.
En Athena, las tablas y bases de datos son definiciones de metadatos que definen un esquema para los datos fuente subyacentes. Se utiliza AWS Glue Data Catalog para almacenar y recuperar estos metadatos cuando se ejecutan consultas sobre el conjunto de datos subyacente. Las bases de datos son un agrupamiento lógico de tablas y al igual que las tablas, se consideran metadatos.
En Athena, las tablas y bases de datos son definiciones de metadatos que definen un esquema para los datos fuente subyacentes. Se utiliza AWS Glue Data Catalog para almacenar y recuperar estos metadatos cuando se ejecutan consultas sobre el conjunto de datos subyacente. Las bases de datos son un agrupamiento lógico de tablas y al igual que las tablas, se consideran metadatos.
Los metadatos de una tabla indican a
Athena dónde se encuentran los datos subyacentes (Amazon S3), especificando la
estructura de los datos de origen y el esquema de la tabla (nombres de columna,
tipos de datos y el nombre de la tabla). AWS Glue tiene características interesantes
a la hora de descubrir automáticamente el esquema de los datos y poder extraer,
transformar y cargar datos (ETL).
Lo primero que tendremos que hacer es crear la infraestructura, para ello tendremos que crear un bucket donde vamos a alojar el conjunto de ficheros con los datos. En la siguiente imagen el segundo bucket creado corresponde con el alojamiento de nuestros datos.
Lo siguiente que haremos será crear la estructura del servicio de Athena: la BD junto con las tablas asociadas, en nuestro caso vamos a emplear una única tabla. En la siguiente imagen podemos ver la BD (datosclinicos) y la tabla asociada Historial, con el conjunto de campos definidos, junto con la especificación del formato del fichero a cargar y la localización de S3.
Debemos mencionar que será necesario dotar de todos los permisos necesarios a los usuarios que vayamos a emplear sobre Athena por medio de IAM. Para ello crearemos un usuario que tendrá los siguientes políticas: AmazonS3FullAccess, AmazonAthenaFullAccess. Sobre los bucket creados en S3, deberemos de aplicar políticas especificas de lectura sobre el bucket de datos y escritura sobre el bucket que emplea Athena para la gestión del servicio.
A la hora de ejecutar una consulta, Athena utiliza Presto como motor SQL distribuido de código abierto. Puede procesar datos de diferentes orígenes de datos, incluido HDFS (Hadoop Distributed File System) y Amazon S3.
Lo primero que tendremos que hacer es crear la infraestructura, para ello tendremos que crear un bucket donde vamos a alojar el conjunto de ficheros con los datos. En la siguiente imagen el segundo bucket creado corresponde con el alojamiento de nuestros datos.
Lo siguiente que haremos será crear la estructura del servicio de Athena: la BD junto con las tablas asociadas, en nuestro caso vamos a emplear una única tabla. En la siguiente imagen podemos ver la BD (datosclinicos) y la tabla asociada Historial, con el conjunto de campos definidos, junto con la especificación del formato del fichero a cargar y la localización de S3.
Debemos mencionar que será necesario dotar de todos los permisos necesarios a los usuarios que vayamos a emplear sobre Athena por medio de IAM. Para ello crearemos un usuario que tendrá los siguientes políticas: AmazonS3FullAccess, AmazonAthenaFullAccess. Sobre los bucket creados en S3, deberemos de aplicar políticas especificas de lectura sobre el bucket de datos y escritura sobre el bucket que emplea Athena para la gestión del servicio.
A la hora de ejecutar una consulta, Athena utiliza Presto como motor SQL distribuido de código abierto. Puede procesar datos de diferentes orígenes de datos, incluido HDFS (Hadoop Distributed File System) y Amazon S3.
La
visualización y ejecución de las consultas, al disponer de conexión por medio
de JDBC podremos emplear multitud de herramientas, como por ejemplo DBeaver. Bastará con que descarguemos y configuremos el driver para acceder
correctamente y comenzar a trabajar.
Trabajar con una herramienta de BI, como Tableau, nos aportará una potencia extra en el análisis. Como hemos mencionado antes nos aportará una solución completa de una forma sencilla, nos basta con ir componiendo los datos sobre los que se basa nuestro análisis de forma visual y en caso de que fuera necesario calcular algún agregado de forma sencilla lo podremos desarrollar, como por ejemplo en la imagen adjunta "% Efectividad". En la siguiente imagen estamos analizando la efectividad de los fármacos sobre las diferentes provincias de la comunidad autónoma de Andalucía para un subconjunto de enfermedades (Alergia, Colesterol, Diabetes, Migraña, Problemas Cardíacos y Tumores), de forma anual, realizando un pronóstico de cara a los próximos dos años basado en la media de la información recopilada.
Comentarios
Publicar un comentario