Simultaneidad de trabajos y colas para una aplicación EMR sin servidor - Amazon EMR

Simultaneidad de trabajos y colas para una aplicación EMR sin servidor

A partir de la versión 7.0.0 y posteriores de Amazon EMR, puede especificar el tiempo de espera de la cola de ejecución de trabajos y la configuración de simultaneidad de su aplicación. Al especificar esta configuración, Amazon EMR sin servidor comienza por poner en cola el trabajo y comienza la ejecución en función del uso simultáneo de la aplicación. Por ejemplo, si la simultaneidad de sus trabajos es de 10, solo se ejecutan diez trabajos a la vez en su aplicación. Los trabajos restantes se ponen en cola hasta que finalice uno de los trabajos en ejecución. Si el tiempo de espera de la cola se agota antes, se agota el tiempo de espera de su trabajo. Para obtener más información, consulte Estados de ejecución de trabajos.

Beneficios clave de la simultaneidad y las colas

La simultaneidad de trabajos y la creación de colas ofrecen las siguientes ventajas cuando se requieren muchos envíos de trabajo:

  • Ayuda a controlar la ejecución simultánea de los trabajos para utilizar de forma eficiente los límites de capacidad a nivel de aplicación.

  • La cola puede contener una ráfaga repentina de envíos de trabajos, con un ajuste de tiempo de espera configurable.

Introducción a la simultaneidad y las colas

Los siguientes procedimientos muestran un par de formas diferentes de implementar la simultaneidad y las colas.

Uso de AWS CLI

  1. Cree una aplicación de Amazon EMR sin servidor con tiempo de espera de cola y ejecuciones de trabajos simultáneas:

    aws emr-serverless create-application \ --release-label emr-7.0.0 \ --type SPARK \ --scheduler-configuration '{"maxConcurrentRuns": 1, "queueTimeoutMinutes": 30}'
  2. Actualice una aplicación para cambiar el tiempo de espera y la simultaneidad de la cola de trabajos:

    aws emr-serverless update-application \ --application-id application-id \ --scheduler-configuration '{"maxConcurrentRuns": 5, "queueTimeoutMinutes": 30}'
    nota

    Puede actualizar su aplicación actual para habilitar la simultaneidad de trabajos y la creación de colas. Para ello, la aplicación debe tener una etiqueta de versión emr-7.0.0 o posterior.

Uso de AWS Management Console

En los pasos siguientes se muestra cómo empezar a utilizar la simultaneidad de trabajos y la creación de colas mediante la AWS Management Console:

  1. Vaya a EMR Studio y elija crear una aplicación con la etiqueta de versión EMR-7.0.0 o posterior.

  2. En Opciones de configuración de la aplicación, seleccione la opción Usar configuración personalizada.

  3. En Configuraciones adicionales hay una sección para la Configuración de la ejecución de trabajos. Seleccione la opción Habilitar la simultaneidad de trabajos para activar la función.

  4. Una vez seleccionada, puede seleccionar tanto las Ejecuciones de trabajos simultáneos como el Tiempo de espera de la cola para configurar el número de ejecuciones de trabajos simultáneos y el tiempo de espera de la cola, respectivamente. Si no introduce valores para estos ajustes, se utilizarán los valores predeterminados.

  5. Seleccione Crear aplicación y la aplicación se creará con esta función habilitada. Para verificarlo, vaya al panel de control, seleccione su aplicación y compruebe si la función está habilitada en la pestaña de propiedades.

Tras la configuración, puede enviar trabajos con esta función habilitada.

Consideraciones sobre la simultaneidad y las colas

Tenga en cuenta lo siguiente cuando implemente la simultaneidad y las colas:

  • La cola y la simultaneidad de trabajos son compatibles con la versión 7.0.0 y posteriores de Amazon EMR.

  • Puede actualizar la simultaneidad de una aplicación en el estado INICIADO.

  • El intervalo válido para maxConcurrentRuns es de 1 a 1000 y para queueTimeoutMinutes de 15 a 720.

  • Puede haber un máximo de 2000 trabajos en el estado EN COLA para una cuenta.

  • La simultaneidad y las colas se aplican a los trabajos por lotes y en streaming. No se puede usar para trabajos interactivos. Para obtener más información, consulte Ejecución de cargas de trabajo interactivas con EMR sin servidor a través de EMR Studio.