Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Escalado automático de la transmisión de AWS Glue

Modo de enfoque
Escalado automático de la transmisión de AWS Glue - AWS Glue

Los trabajos de ETL de AWS Glue Streaming consumen continuamente datos de los orígenes de streaming, limpian y transforman los datos durante el proceso y los ponen a disposición para su análisis. Al supervisar cada etapa de la ejecución del trabajo, el escalado automático de AWS Glue puede desconectar a los trabajadores cuando están inactivos o agregar trabajadores si es posible un procesamiento paralelo adicional.

En las siguientes secciones, se ofrece información acerca del escalado automático de la transmisión de AWS Glue.

Habilitar Auto Scaling en AWS Glue Studio

En la página Job details (Detalles del trabajo) en AWS Glue Studio, elija el tipo como Spark o Spark Streaming y Glue version (Versión de Glue) como Glue 3.0 o Glue 4.0. A continuación, se mostrará una casilla de verificación debajo de Worker type (Tipo de empleado).

  • Seleccione la opción Automatically scale the number of workers (Escalar automáticamente el número de empleados).

  • Establezca el Maximum number of workers (Número máximo de empleados) para definir el número máximo de empleados que se pueden asignar a la ejecución de trabajos.

Habilitar y configurar Auto Scaling en AWS Glue Studio.

Habilitación de Auto Scaling con AWS CLI o SDK

Para habilitar Auto Scaling desde la AWS CLI para la ejecución de un trabajo, ejecute start-job-run con la siguiente configuración:

{ "JobName": "<your job name>", "Arguments": { "--enable-auto-scaling": "true" }, "WorkerType": "G.2X", // G.1X and G.2X are allowed for Auto Scaling Jobs "NumberOfWorkers": 20, // represents Maximum number of workers ...other job run configurations... }

Una vez que haya finalizado la ejecución de un trabajo de ETL, también puede llamar a get-job-run para comprobar el uso real de recursos de la ejecución del trabajo en segundos de DPU. Nota: El nuevo campo DPUSeconds solo se mostrará para los trabajos por lotes en AWS Glue 3.0 o posterior con el escalado automático habilitado. Este campo no es compatible con trabajos de streaming.

$ aws glue get-job-run --job-name your-job-name --run-id jr_xx --endpoint https://glue.us-east-1.amazonaws.com --region us-east-1 { "JobRun": { ... "GlueVersion": "3.0", "DPUSeconds": 386.0 } }

También se pueden configurar ejecuciones de trabajos con Auto Scaling mediante el AWS Glue SDK con la misma configuración.

Funcionamiento

Escalado entre microlotes

El siguiente ejemplo se usa para describir cómo funciona el escalado automático.

  • Tiene un trabajo de AWS Glue que comienza con 50 DPU.

  • El escalado automático está habilitado.

En este ejemplo, AWS Glue analiza la métrica “batchProcessingTimeInMs” de algunos microlotes y determina si los trabajos se están completando dentro del tamaño de ventana que ha establecido. Si sus trabajos se completan antes y en función de la rapidez con la que se terminen, es posible que AWS Glue se reduzca verticalmente. Esta métrica, trazada con “numberAllExecutors”, se puede supervisar en Amazon CloudWatch para ver cómo funciona el escalado automático.

El número de ejecutores se escala o reduce verticalmente de manera exponencial solo después de que se complete cada microlote. Como puede ver en el registro de supervisión de Amazon CloudWatch, AWS Glue analiza la cantidad de ejecutores necesarios (línea naranja) y escala los ejecutores (línea azul) para que coincidan automáticamente con esa cantidad.

En la captura de pantalla se muestra un registro de supervisión de Amazon CloudWatch para el ejemplo anterior, en el que AWS Glue analiza el número de ejecutores necesarios (línea naranja) y escalan los ejecutores (línea azul) para que coincidan con ese número sin necesidad de realizar ajustes manuales.

Una vez que AWS Glue reduzca verticalmente el número de ejecutores y observe que los volúmenes de datos aumentan y, en consecuencia, aumenta el tiempo de procesamiento de los microlotes, AWS Glue escalará verticalmente hasta los 50 DPU, que es el límite máximo especificado.

Escalado dentro de microlotes

En el ejemplo anterior, el sistema supervisa algunos microlotes completados para tomar una decisión acerca de si escalarlos o reducirlos verticalmente. Las ventanas más largas requieren un escalado automático para responder de manera más rápida dentro del microlote en vez de esperar unos pocos microlotes. En estos casos, puede usar la configuración adicional --auto-scaIe-within-microbatch como true. Puede agregarla a las propiedades del trabajo de AWS Glue en AWS Glue Studio como se muestra a continuación.

En la captura de pantalla se muestran los parámetros del trabajo para la clave y el valor. El campo Clave contiene el valor --auto-scaIe-within-microbatch y el campo Valor contiene el valor true.
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.