Admisión de trabajos en Apache Spark para Microsoft Fabric

Se aplica a:✅ Ingeniería de datos y ciencia de datos en Microsoft Fabric

Apache Spark para Fabric utiliza la técnica de admisión de trabajos optimista para determinar el requisito básico mínimo para los trabajos de Spark. Este proceso es aplicable a trabajos interactivos o por lotes de cuadernos, almacenes de lago o definiciones de trabajos de Spark. Se basa en la configuración de nodo mínima del grupo de Spark elegido en la configuración del área de trabajo o en el entorno asociado. Si los núcleos disponibles se encuentran en la capacidad de Fabric vinculada al área de trabajo, el trabajo se acepta y comienza la ejecución. Los trabajos se inician con su configuración mínima de nodo y pueden escalar verticalmente dentro de sus límites máximos de nodos según las fases de trabajo. Si los núcleos totales usados por la ejecución de trabajos que usan la capacidad de Fabric están por debajo de los núcleos de ráfaga máximos asignados, la capa de admisión y limitación del trabajo en Fabric Spark permite que el trabajo se escale verticalmente.

Para obtener más información, consulte Límites de simultaneidad y puesta en cola en Microsoft Fabric Spark.

¿Cómo funciona la admisión de trabajo optimista?

En Fabric, los grupos de inicio incluyen un mínimo predeterminado de un nodo, mientras que los grupos personalizados permiten establecer nodos mínimos en función de las necesidades de carga de trabajo. El escalado automático ajusta los requisitos de proceso para los trabajos de Spark durante las fases de ejecución, dentro de los nodos mínimo y máximo configurados. La admisión optimista de trabajos evalúa los envíos de trabajos en función de los núcleos disponibles y los ejecuta con núcleos mínimos. Los trabajos intentan crecer en función de los nodos asignados máximos durante la ejecución. Las solicitudes de escalado vertical se aprueban si el total de núcleos de Spark usados se encuentra dentro de los límites de capacidad asignados.

Nota:

Si el uso alcanza el límite máximo y todos los núcleos dentro de la capacidad total de Fabric están en uso, se denegarán las solicitudes de escalado vertical. Los trabajos activos deben finalizar o cancelarse para liberar núcleos.

¿Cómo afecta esto a la simultaneidad del trabajo?

Los requisitos mínimos de núcleos para cada trabajo determinarán si el trabajo se puede aceptar. Si la capacidad se utiliza por completo y no tiene núcleos dejados para satisfacer las necesidades básicas mínimas de un trabajo, se rechaza el trabajo. Los trabajos de cuaderno interactivo o las operaciones de Lakehouse se bloquearán con el mensaje de error No se puede enviar esta solicitud porque se está utilizando toda la capacidad disponible. Cancele un trabajo actualmente en ejecución, aumente la capacidad disponible o inténtelo de nuevo más tarde. Los trabajos por lotes se ponen en cola y se ejecutan una vez que los núcleos están disponibles.

Por ejemplo, considere un escenario con un usuario que usa la SKU de capacidad F32 de Fabric. Suponiendo que todos los trabajos usen la configuración predeterminada del grupo de inicio sin admisión optimista de trabajos, la capacidad admitiría una simultaneidad máxima de tres trabajos. El número máximo de núcleos por trabajo se asigna según la configuración de nodos máximos.

Captura de pantalla que muestra la simultaneidad del trabajo sin admisión optimista de trabajos en Fabric Spark.

Con la admisión de trabajos optimista con la misma capacidad que antes, se pueden admitir y ejecutar 24 trabajos mediante su configuración de nodo mínima durante el escenario de simultaneidad máxima. Porque cada trabajo requiere 8 núcleos virtuales de Spark en los que una configuración mínima de nodo es de tamaño medio.

Captura de pantalla que muestra la simultaneidad del trabajo con la admisión optimista de trabajos en Fabric Spark.

Escalado de trabajos con escalabilidad automática de Spark

Al habilitar la escalabilidad automática para grupos de Spark, los trabajos se ejecutan con su configuración mínima de nodo. Durante el tiempo de ejecución, puede producirse el escalado. Estas solicitudes pasan por el control de admisión de trabajos. Las solicitudes aprobadas se escalan verticalmente hasta los límites máximos en función de los núcleos totales disponibles. Las solicitudes rechazadas no afectan a los trabajos activos; continúan ejecutándose con su configuración actual hasta que los núcleos estén disponibles.

Captura de pantalla que muestra el escalado vertical del trabajo con la admisión optimista de trabajos en Fabric Spark.

Nota:

Para garantizar la asignación máxima de núcleos para un trabajo según su configuración de nodos máximos, deshabilite el escalado automático y establezca los nodos máximos dentro de la SKU de capacidad de Fabric. En este caso, dado que el trabajo no tiene ningún requisito básico mínimo, comenzará a ejecutarse una vez que haya núcleos libres disponibles y escalará verticalmente hasta el total configurado. Si la capacidad se usa por completo, los trabajos interactivos del cuaderno se pueden ralentizar o poner en cola. Los trabajos en cola se reintentan automáticamente a medida que los núcleos pasan a estar disponibles.