ETL AWS Glue
AWS GlueETL permite extraer datos de diversas fuentes, transformarlos para adaptarlos a las necesidades de su empresa y cargarlos en el destino que elija. Este servicio utiliza el motor Apache Spark para distribuir las cargas de trabajo de macrodatos entre los nodos de trabajo, lo que permite realizar transformaciones más rápidas con el procesamiento en memoria.
AWS Glue es compatible con diversas fuentes de datos, incluidas Amazon Simple Storage Service (Amazon S3), Amazon DynamoDB y Amazon Relational Database Service (Amazon RDS). Para obtener más información sobre las fuentes de datos compatibles, consulte Tipos y opciones de conexión para ETL en AWS Glue.
Creación en AWS Glue
AWS Glue proporciona varias formas de crear trabajos de ETL, según su experiencia y caso de uso:
-
Los trabajos del intérprete de comandos de Python están diseñados para ejecutar scripts ETL básicos escritos en Python. Estos trabajos se ejecutan en una sola máquina y son más adecuados para conjuntos de datos pequeños o medianos.
-
Los trabajos de Apache Spark se pueden escribir en Python o Scala. Estos trabajos utilizan Spark para escalar horizontalmente las cargas de trabajo en muchos nodos de trabajo, de modo que puedan gestionar grandes conjuntos de datos y transformaciones complejas.
-
ETL de streaming de AWS Glue utiliza el motor de streaming estructurado Apache Spark para transformar los datos de streaming en trabajos de microlotes mediante semántica de exactly-once
. Se pueden crear trabajos de streaming de AWS Glue en Python o Scala. -
AWS Glue Studio es una interfaz visual de estilo cuadros y flechas para hacer accesible el ETL basado en Spark a los desarrolladores que son nuevos en la programación de Apache Spark.
Unidades de procesamiento de datos
AWS Glue utiliza unidades de procesamiento de datos (DPUs) para medir los recursos de cómputo asignados a un trabajo de ETL y calcular el costo. Cada DPU equivale a 4 vCPU y 16 GB de memoria. Las DPU deben asignarse a su trabajo AWS Glue en función de su complejidad y volumen de datos. Asignar la cantidad adecuada de DPU le permitirá equilibrar las necesidades de rendimiento con las limitaciones de costos.
AWS Glue proporciona varios tipos de trabajadores que están optimizados para diversas cargas de trabajo:
-
G.1X o G.2X (par ala myoría de las uniones, consultas y transformaciones de datos)
-
G.4X o G.8X (para las transformaciones, agregaciones, uniones y consultas de datos más exigentes)
-
G.025X (para flujos de datos esporádicos y de bajo volumen)
-
Estándar (para las versiones 1.0 de AWS Glue o anteriores; no se recomienda para versiones posteriores de AWS Glue)
Uso del intérprete de comandos de Python
Para un trabajo del intérprete de comandos de Python, puede usar 1 DPU para usar 16 GB de memoria o 0.0625 DPU para usar 1 GB de memoria. El intérprete de comandos de Python está diseñado para trabajos ETL básicos con conjuntos de datos pequeños o medianos (de hasta aproximadamente 10 GB).
Comparación de los tipos de trabajadores
En la siguiente tabla se muestran los distintos tipos de trabajadores de AWS Glue Glue para cargas de trabajo por lotes, de streaming y de ETL de AWS Glue Studio que utilizan el entorno Apache Spark.
G.1X |
G.2X |
G.4X |
G.8X |
G.025X |
Estándar |
|
vCPU |
4 |
8 |
16 |
32 |
2 |
4 |
Memoria |
16 GB |
32 GB |
64 GB |
128 GB |
4 GB |
16 GB |
Espacio en disco |
64 GB |
128 GB |
256 GB |
512 GB |
64 GB |
50 GB |
Ejecutor por trabajo |
1 |
1 |
1 |
1 |
1 |
2 |
DPU |
1 |
2 |
4 |
8 |
0,25 |
1 |
No se recomienda el tipo de trabajador estándar para la versión 2.0 de AWS Glue y posteriores. El tipo de trabajador G.025X solo está disponible para trabajos de streaming con la versión 3.0 de AWS Glue o posterior.