Aspectos generales

P: ¿Qué es AWS Glue?

AWS Glue es un servicio de extracción, transformación y carga (ETL) completamente administrado y de pago por uso que automatiza la ardua tarea de la preparación de datos para el análisis. AWS Glue encuentra y clasifica los datos automáticamente mediante el catálogo de datos de AWS Glue, recomienda y genera código ETL para transformar sus datos de origen en esquemas de destino y ejecuta los trabajos ETL en un entorno Apache Spark escalable y completamente administrado para cargar los datos en su destino. También le permite configurar, organizar y monitorear flujos de datos complejos.

P: ¿Cómo puedo comenzar a utilizar AWS Glue?

Para empezar a usar Amazon Glue, simplemente inicie sesión en la consola de administración de AWS y vaya a "AWS Glue" dentro de la categoría "Analytics" (Análisis). Puede utilizar uno de nuestros tutoriales guiados, que le mostrará paso a paso un caso de uso de AWS Glue de ejemplo. También puede encontrar el código ETL de muestra en nuestro repositorio GitHub en AWS Labs (Laboratorios de AWS).

P: ¿Cuáles son los componentes principales de AWS Glue?

AWS Glue se compone de un catálogo de datos que es un repositorio de metadatos central, un motor ETL que puede generar automáticamente código Scala o Python y un programador flexible que administra la resolución de dependencias, el monitoreo de trabajos y los intentos adicionales. En combinación, estos elementos automatizan la mayoría de las arduas tareas que conllevan la búsqueda, la categorización, la limpieza, el enriquecimiento y el traslado de datos, de modo que puede dedicar más tiempo a analizarlos.

P: ¿Cuándo debería usar AWS Glue?

Debería utilizar AWS Glue para detectar las propiedades de los datos que posee, transformarlos y prepararlos para su análisis. AWS Glue puede detectar automáticamente datos estructurados y semiestructurados almacenados en su lago de datos de Amazon S3, almacén de datos en Amazon Redshift y diversas bases de datos ejecutadas en AWS. Proporciona una vista unificada de los datos mediante el catálogo de datos de AWS Glue disponible para ETL, consultas e informes mediante servicios como Amazon Athena, Amazon EMR y Amazon Redshift Spectrum. AWS Glue genera automáticamente código Scala o Python para sus trabajos ETL que puede personalizar aún más mediante el uso de las herramientas que ya conoce. AWS Glue es un servicio sin servidor, por lo que no se necesitan recursos informáticos para realizar tareas de configuración y administración.

P: ¿Con qué orígenes de datos es compatible AWS Glue?

AWS Glue admite de forma nativa los datos almacenados en Amazon Aurora, Amazon RDS for MySQL, Amazon RDS for Oracle, Amazon RDS for PostgreSQL, Amazon RDS for SQL Server, Amazon DynamoDBAmazon Redshift y Amazon S3, así como también en bases de datos de MySQL, Oracle, Microsoft SQL Server y PostgreSQL en su nube virtual privada (Amazon VPC) en ejecución en Amazon EC2. Puede acceder fácilmente a los metadatos almacenados en el catálogo de datos de AWS Glue desde Amazon Athena, Amazon EMR y Amazon Redshift Spectrum. También puede escribir código Scala o Python personalizado e importar bibliotecas personalizadas y archivos Jar en sus trabajos ETL de AWS Glue para acceder a orígenes de datos no admitidos de manera nativa en AWS Glue. Para obtener más información sobre la importación de bibliotecas personalizadas, consulte nuestra documentación.

Catálogo de datos de AWS Glue

P: ¿Qué es el catálogo de datos de AWS Glue?

El catálogo de datos de AWS Glue es un repositorio central que almacena metadatos estructurales y operativos para sus recursos de datos. Para un conjunto de datos determinado, puede almacenar la definición de la tabla y la ubicación física, agregar atributos relevantes para la empresa y realizar un seguimiento de cómo los datos han cambiado con el tiempo.

El catálogo de datos de AWS Glue es compatible con Apache Hive Metastore y un sustituto de transferencia rápida de Apache Hive Metastore para aplicaciones de big data ejecutadas en Amazon EMR. Para obtener más información sobre cómo configurar su clúster de EMR para que use el catálogo de datos de AWS Glue como Apache Hive Metastore, haga clic aquí.

El catálogo de datos de AWS Glue también se integra de serie en Amazon Athena, Amazon EMR y Amazon Redshift Spectrum. Una vez que agregue las definiciones de tablas al catálogo de datos de AWS Glue, estarán disponibles para ETL y también para consultas en Amazon Athena, Amazon EMR y Amazon Redshift Spectrum, de modo que dispondrá de una vista común de los datos entre estos servicios.

P: ¿Cómo puedo incluir mis metadatos en el catálogo de datos de AWS Glue?

AWS Glue proporciona varias maneras de enviar metadatos al catálogo de datos de AWS Glue. Los rastreadores de AWS Glue escanean los distintos almacenes de datos que posee para deducir automáticamente esquemas y la estructura de particiones y rellenar el catálogo de datos de AWS Glue con las estadísticas y definiciones de tablas correspondientes. Puede programar rastreadores para que se ejecuten de manera periódica, de modo que los metadatos siempre estén actualizados y sincronizados con los datos subyacentes. Opcionalmente, puede agregar y actualizar los datos de la tabla manualmente a través de la consola de AWS Glue o mediante una llamada a la API. También puede ejecutar enunciados DDL de Hive mediante la consola de Amazon Athena o un cliente Hive de un clúster de Amazon EMR. Por último, si ya tiene un Apache Hive Metastore persistente, puede realizar una importación masiva de los metadatos al catálogo de datos de AWS Glue con nuestra secuencia de comandos de importación.

P: ¿Qué son los rastreadores de AWS Glue?

Un rastreador de AWS Glue se conecta con un almacén de datos, avanza a través de una lista priorizada de clasificadores para extraer los esquemas de sus datos y otras estadísticas, y rellena el catálogo de datos de AWS Glue con estos metadatos. Los rastreadores pueden ejecutarse de manera periódica para detectar la disponibilidad de nuevos datos, así como cambios en los datos existentes, incluidos cambios en la definición de una tabla. Los rastreadores añaden nuevas tablas, nuevas particiones a tablas existentes y nuevas versiones de las definiciones de tablas de manera automática. Puede personalizar los rastreadores de AWS Glue para que clasifiquen sus propios tipos de archivos.

P: ¿Cómo puedo importar datos desde mi Apache Hive Metastore al catálogo de datos de AWS Glue?

Simplemente tiene que ejecutar un trabajo ETL que lea desde su Apache Hive Metastore, exporte los datos en un formato intermedio en Amazon S3 y, a continuación, importe los datos al catálogo de datos de AWS Glue.

P: ¿Tengo que mantener el Apache Hive Metastore si almaceno los metadatos en el catálogo de datos de AWS Glue?

No. El catálogo de datos de AWS Glue es compatible con Apache Hive Metastore. Puede apuntar al punto de enlace del catálogo de datos de AWS Glue y usarlo como sustituto de Apache Hive Metastore. Para obtener más información sobre cómo configurar su clúster para que use el catálogo de datos de AWS Glue como Apache Hive Metastore, consulte nuestra documentación aquí.

P: Si ya utilizo Amazon Athena o Amazon Redshift Spectrum y tengo datos en el catálogo de datos interno de Amazon Athena, ¿cómo puedo comenzar a usar el catálogo de datos de AWS Glue como repositorio de metadatos común?

Antes de que pueda comenzar a usar el catálogo de datos de AWS Glue como repositorio de datos común entre Amazon Athena, Amazon Redshift Spectrum y AWS Glue, debe actualizar el catálogo de datos de Amazon Athena al catálogo de datos de AWS Glue. Aquí encontrará los pasos detallados necesarios para la actualización.

Extracción, transformación y carga (ETL)

P: ¿Qué lenguajes de programación puedo utilizar para escribir mi código ETL para AWS Glue?

Puede utilizar Scala o Python.

P: ¿Cómo puedo personalizar el código ETL generado por AWS Glue?

El sistema de recomendaciones de secuencias de comandos de ETL de AWS Glue genera código Scala o Python. Utiliza la biblioteca ETL personalizada de AWS Glue para simplificar el acceso a orígenes de datos, así como también para administrar la ejecución de trabajos. Puede encontrar más información sobre la biblioteca en nuestra documentación. Puede escribir código ETL con la biblioteca personalizada de AWS Glue o escribir código arbitrario en Scala o Python mediante la edición entre líneas con el editor de secuencias de comandos de la consola de AWS Glue, la descarga del código autogenerado y su edición en un IDE propio. También puede comenzar con una de las numerosas muestras que encontrará en nuestro repositorio de GitHub y personalizar el código.

P: ¿Puedo importar bibliotecas personalizadas como parte de mi secuencia de comandos de ETL?

Sí. Puede importar bibliotecas de Python y archivos de Jar en su trabajo de ETL de AWS Glue. Para obtener más detalles, consulte nuestra documentación aquí.

P: ¿Puedo utilizar mi propio código?

Sí. Puede escribir su propio código con la biblioteca ETL de AWS Glue o escribir su propio código en Scala o Python y cargarlo en un trabajo de ETL de AWS Glue. Para obtener más detalles, consulte nuestra documentación aquí.

P: ¿Cómo puedo desarrollar mi código ETL con mi propio IDE?

Puede crearlo y conectarse con puntos de enlace de desarrollo que ofrezcan maneras de conectar sus blocs de notas e IDE.

P: ¿Cómo puedo crear una carga de trabajo de ETL de punto a punto con varios trabajos en AWS Glue?

Además de la biblioteca ETL y la generación de código, AWS Glue proporciona un conjunto sólido de características de orquestación que le permiten administrar las dependencias entre varios trabajos para crear flujos de trabajo de ETL de punto a punto. Los trabajos de ETL de AWS Glue se pueden activar de acuerdo con un cronograma o cuando se produzca un evento de finalización de trabajo. Pueden activarse varios trabajos de manera simultánea o secuencial si los activa en un evento de finalización de trabajo. También puede activar uno o más trabajos de AWS Glue desde un origen externo, como una función de AWS Lambda.

P: ¿Cómo monitorea AWS Glue las dependencias?

AWS Glue monitorea dependencias entre dos o más trabajos o dependencias en eventos externos mediante activadores. Los activadores pueden observar o invocar uno o más trabajos. Puede disponer de un activador programado que invoque los trabajos de manera periódica, un activador bajo demanda o un activador de finalización de trabajo.

P: ¿Cómo resuelve los errores AWS Glue?

AWS Glue monitorea las métricas y los errores en los eventos de trabajo y envía todas las notificaciones a Amazon CloudWatch. Con Amazon CloudWatch, puede configurar distintas acciones que pueden activarse en función de determinadas notificaciones de AWS Glue. Por ejemplo, si aparece una notificación de evento de error o evento correcto de AWS Glue, puede activar una función de AWS Lambda. AWS Glue también ofrece un comportamiento de intentos adicionales por defecto que volverá a intentar reproducir cualquier operación fallida tres veces antes de enviar una notificación de error.

P: ¿Puedo ejecutar mis trabajos de ETL existentes con AWS Glue?

Sí. Puede ejecutar su código en Scala o Python existente en AWS Glue. Simplemente cargue el código en Amazon S3 y cree uno o más trabajos que usen dicho código. Puede volver a utilizar el mismo código en varios trabajos si los apunta a la misma ubicación del código en Amazon S3.

P: ¿Cómo puedo usar AWS Glue para someter a ETL los datos de streaming?

La ETL de AWS Glue está orientada por lotes, y puede programar sus trabajos de ETL con intervalos de 5 minutos como mínimo. Si bien puede procesar microlotes, no admite datos de streaming. Si su caso de uso requiere someter los datos a ETL mientras los transmite, puede realizar la primera fase de la ETL con Amazon Kinesis Data Firehose o Amazon Kinesis Data Analytics y, a continuación, almacenar los datos en Amazon S3 o Amazon Redshift y activar un trabajo de ETL de AWS Glue para recoger el conjunto de datos y continuar aplicando transformaciones adicionales a los datos.

P: ¿Tengo que usar el catálogo de datos de AWS Glue y la ETL de AWS Glue para poder utilizar el servicio?

No. Si bien creemos que usar el catálogo de datos y la ETL de AWS Glue proporciona una experiencia de ETL completa, puede usar uno de los dos independientemente, sin usar el otro.

Integraciones de productos de AWS

P: ¿Cuándo debería usar AWS Glue en vez de AWS Data Pipeline?

AWS Glue proporciona un servicio de ETL administrado que se ejecuta en un entorno Apache Spark sin servidor. Eso le permite concentrarse en su trabajo de ETL y no preocuparse por tener que configurar y administrar los recursos informáticos subyacentes. AWS Glue sigue un enfoque centrado en los datos y le permite concentrarse en las propiedades de los datos y la manipulación de estos para transformarlos en un formato del que pueda extraer información empresarial. Proporciona un catálogo de datos integrado que hace que los metadatos se encuentren disponibles para ETL, así como consultas a través de Amazon Athena y Amazon Redshift Spectrum.

AWS Data Pipeline proporciona un servicio de orquestación administrado que le aporta mayor flexibilidad en cuanto al entorno de ejecución, el acceso y el control de los recursos informáticos que ejecutan su código, así como el mismo código que se encarga del procesamiento de datos. AWS Data Pipeline implementa recursos informáticos en su cuenta, lo que le brinda acceso directo a las instancias de Amazon EC2 o clústeres de Amazon EMR.

Además, los trabajos de ETL de AWS Glue están basados en Scala o Python. Si su caso de uso requiere que utilice un motor que no sea Apache Spark o si desea ejecutar un conjunto heterogéneo de trabajos en diversos motores, como Hive, Pig, etc., AWS Data Pipeline sería una mejor elección.

P: ¿Cuándo debería usar AWS Glue en vez de Amazon EMR?

AWS Glue funciona sobre el entorno Apache Spark para proporcionar un entorno de ejecución escalable para sus trabajos de transformación de datos. AWS Glue deduce, evoluciona y monitorea sus trabajos de ETL para simplificar en gran medida el proceso de creación y mantenimiento de trabajos. Amazon EMR le proporciona acceso directo a su entorno Hadoop, lo que le brinda acceso de nivel inferior y mayor flexibilidad en el uso de herramientas que no sean Spark.

P: ¿Cuándo debería utilizar AWS Glue en lugar de AWS Database Migration Service?

AWS Database Migration Service (DMS) ayuda a migrar las bases de datos a AWS de manera fácil y segura. Para casos de uso que requieren una migración de bases de datos de un sistema local a AWS o la replicación de bases de datos entre orígenes locales y orígenes en AWS, recomendamos que utilice AWS DMS. Una vez que sus datos estén en AWS, puede utilizar AWS Glue para trasladar y transformar datos desde su origen de datos a otra base o almacén de datos, como Amazon Redshift.

P: ¿Cuándo debería utilizar AWS Glue en lugar de AWS Batch?

AWS Batch le permite ejecutar de manera sencilla y eficaz cualquier trabajo de informática por lotes en AWS independientemente de su naturaleza. AWS Batch crea y administra los recursos informáticos en su cuenta de AWS, lo que le suministra control y visibilidad absolutos de los recursos utilizados. AWS Glue es un servicio de ETL completamente administrado que le proporciona un entorno Apache Spark para ejecutar sus trabajos de ETL. Para sus casos de uso de ETL, le recomendamos que considere utilizar AWS Glue. Para casos de uso orientados a lotes de otro tipo, incluidos algunos casos de uso de ETL, AWS Batch podría ser una opción mejor.

P: ¿Cuándo debería utilizar AWS Glue en lugar de Amazon Kinesis Data Analytics?

Amazon Kinesis Data Analytics le permite ejecutar consultas SQL estándar en su transmisión de datos de entrada. Puede especificar un destino como Amazon S3 para escribir los resultados. Una vez que los datos estén disponibles en su origen de datos meta, podrá iniciar un trabajo de ETL de AWS Glue para que transforme sus datos todavía más y los prepare para realizar análisis e informes adicionales.

Precios y facturación

P: ¿Cómo se cobra el uso de AWS Glue?

Pagará una cuota mensual sencilla, cuando supere los valores de la capa gratuita de AWS Glue, por el almacenamiento de los metadatos en el catálogo de datos de AWS Glue y el acceso a ellos. Además, pagará una tarifa por hora, facturada por segundo, por la ejecución de trabajos de ETL y rastreadores, con un mínimo de 10 minutos por cada uno. Si elige usar un punto de enlace de desarrollo para desarrollar de manera interactiva su código de ETL, pagará una tarifa por hora, facturada por segundo, por el tiempo que aprovisione su punto de enlace de desarrollo, con un mínimo de 10 minutos. Para obtener más información, consulte nuestra página de precios.

P: ¿Cuándo comienza y finaliza la facturación de mis trabajos de AWS Glue?

La facturación comenzará en cuanto el trabajo se programe para su ejecución y continuará hasta que el trabajo completo finalice. Con AWS Glue, solo paga por el tiempo durante el que se ejecute su trabajo y no por el tiempo de aprovisionamiento o eliminación del entorno.

Seguridad y disponibilidad

P: ¿Cómo protege los datos AWS Glue?

Proporcionamos cifrado del lado del servidor para datos en reposo y SSL para los datos en movimiento.

P: ¿Cuáles son los límites del servicio asociados con AWS Glue?

Para obtener más información sobre los límites del servicio, consulte nuestra documentación.

P: ¿En qué regiones se encuentra disponible AWS Glue?

Consulte la tabla de regiones de AWS para obtener más información sobre la disponibilidad del servicio AWS Glue por región.

P: ¿Cuántas DPU (unidades de procesamiento de datos) se asignan al punto de enlace de desarrollo?

De manera predeterminada, un punto de enlace de desarrollo se aprovisiona con 5 DPU. Puede configurar un punto de enlace de desarrollo con un mínimo de 2 DPU y un máximo de 5 DPU.

P: ¿Cómo puedo ajustar el tamaño y el nivel de rendimiento de mis trabajos de ETL de AWS Glue?

Simplemente puede especificar la cantidad de DPU (unidades de procesamiento de datos) que desea asignar a su trabajo de ETL. Un trabajo de ETL de AWS Glue requiere un mínimo de 2 DPU. Por defecto, AWS Glue asigna 10 DPU a cada trabajo de ETL.

P: ¿Cómo puedo monitorear la ejecución de mis trabajos de AWS Glue?

AWS Glue proporciona el estado de cada trabajo y envía todas las notificaciones a Amazon CloudWatch. Puede configurar notificaciones SNS a través de acciones CloudWatch para que se le informe cuando un trabajo se complete o falle.

Más información sobre los precios de AWS Glue

Visite la página de precios
¿Listo para crear?
Comience a utilizar AWS Glue
¿Tiene más preguntas?
Contacte con nosotros