5.3 Ingesti´ on y an´ alisis de datos
5.3.1 Investigaci´ on
Los datos se guardan en buckets. Cada bucket conceptualmente representa una clase. A cada bucket se le asocia una data tier que especifica la forma en que los objetos se almacenan y consultan, lo que permite cubrir distintos casos de uso considerando caracter´ısticas de acceso (ej. latencia, disponibi- lidad) y frecuencia (ej. contenido est´atico para una p´agina web o datos de auditor´ıa)
5.3.1.3 AWS Glue - Data Catalog
AWS Glue es un servicio para ETL (extracci´on, transformaci´on y carga de datos) que facilita categorizar, limpiar, mejorar y mover los datos. Utiliza AWS Glue Data Catalog, que consiste en un repositorio centralizado de metadatos sobre los datos. Esta investigaci´on se enfoca en este ´ultimo componente. Glue Data Catalog. Tiene las siguientes caracter´ısticas:
Es un servicio serverless, por lo que no hay infraestructura para configurar o gestionar.
Est´a basado en una implementaci´on de Apache Hive Metastore.
Est´a compuesto por tablas que solo contienen metadatos, es decir informa- ci´on como el esquema de los datos, su ubicaci´on, etc. La ubicaci´on puede apuntar a distintos tipos de fuentes, entre ellas Amazon S3.
Las tablas pueden ser creadas en forma manual o en forma automatizada a trav´es de los AWS Glue Crawlers. ´Estos permiten encontrar datos nuevos y a partir de ellos inferir y actualizar los metadatos de las tablas.
Los AWS Glue Crawlers hacen uso de los Crawler Classifiers que contienen la especificaci´on de c´omo parsear los datos.
5.3.1.4 Amazon Athena
Es un servicio para consultas interactivas sobre los datos almacenados en Ama- zon S3 usando SQL est´andar. Tiene las siguientes caracter´ısticas:
Es un servicio serverless, por lo que no hay infraestructura para configurar o gestionar.
Las consultas se ejecutan sobre el esquema definido en las tablas de AWS Glue Data Catalog.
Est´a basado en una implementaci´on de Presto que es un motor para consultas SQL y que soporta fuentes de datos con tama˜nos desdegigabytes apetabytes.
Escala autom´aticamente y el procesamiento es distribuido, dividiendo las consultas en consultas m´as simples que se pueden ejecutar en paralelo [16]
[17].
5.3.1.5 Amazon SageMaker Data Wrangler
Es una herramienta dentro de SageMaker Studio que facilita importar, prepa- rar, transformar y analizar los datos. Est´a orientada a ser usada en forma visual y sin codificar (aunque permite incluirscripts en caso de ser necesario).
El flujo de datos se configura de manera visual indicando la cadena de pasos.
Estos pasos pueden ser de los siguientes tipos:
Importar datos: Permite importar datos desde Amazon S3, Amazon RedShift o Amazon Athena.
Transformaci´on: Permite preparar los datos a trav´es de operaciones como selecci´on, limpieza, tratamiento de valores faltantes, ingenier´ıa de atributos sobre atributos de texto, fecha, etc. Otro tipo de transformaci´on especial permite combinar las diferentes fuentes de datos a trav´es de operaciones de join y concatenaci´on.
An´alisis: Permite generar visualizaciones en forma de tablas, gr´aficos y re- portes.
En esta secci´on se har´a foco en el an´alisis, ya que lo relativo a preparaci´on, transformaci´on y ejecuci´on del flujo configurado se tratar´a en la secci´on Secci´on 5.4 Preparaci´on y transformaci´on de datos.
La herramienta permite generar diferentes visualizaciones con pocos clicks usando las visualizaciones built-in, as´ı como tambi´en generar visualizaciones per- sonalizadas.
Visualizaciones built-in:
Histogramas: Permite analizar la distribuci´on de cantidades seg´un un atri- buto espec´ıfico.
Scatter Plot: Permite analizar relaciones entre atributos.
Table Summary: Permite obtener m´etricas tales como m´aximos, m´ınimos, cantidades, desviaci´on est´andar, etc.
Quick Model: Permite evaluar la importancia de cada atributo, usando una t´ecnica que busca generalizar la idea de la importancia de Gini [18].
Target Leakage: Permite analizar si alg´un atributo est´a fuertemente corre- lacionado con la variable a predecir.
Bias Report: Permite obtener un reporte simplificado para analizar si existe alg´un tipo de sesgo en los datos. Internamente hace un uso b´asico de la herramienta SageMaker Clarify.
Visualizaciones custom: Permite incluir c´odigo para generar gr´aficos perso- nalizados mediante el uso de la librer´ıa Altair de Python [19]. Se accede a los datos a trav´es de un dataframe de Pandas que SageMaker Data Wrangler deja accesible a trav´es de una variable.
A continuaci´on se describen algunos aspectos importantes sobre el funciona- miento de los pasos de an´alisis:
Los an´alisis utilizan un tope de 100.000 filas. Esto facilita acceder al resultado de los mismos en pocos segundos sin la ejecuci´on de un job, pero tiene la limitante de que no se puede trabajar sobre cantidades absolutas.
Los an´alisis se pueden situar en cualquier ubicaci´on del flujo de transforma- ci´on y an´alisis.
El an´alisis se realiza considerando todas las transformaciones anteriores al paso en la que se encuentra.
Como se indic´o anteriormente, existen otras herramientas que permiten ha- cer an´alisis sobre los datos y que no se abordan en esta secci´on. Por ejemplo, SageMaker Autopilot tiene funciones para an´alisis de datos como se ver´a en la Subsubsecci´on 5.8.1.2 SageMaker Autopilot. Otras se ver´an durante la POC de esta secci´on, como por ejemplo el uso de la librer´ıa aws-data-wrangler y el servicio AWS Glue Data Brew.