Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El modo de simultaneidad alta permite que las cargas de trabajo de Spark compatibles compartan una sesión de Spark en ejecución en lugar de iniciar una sesión independiente para cada carga de trabajo. Este modo se usa normalmente para escenarios de cuadernos y canalizaciones en Fabric.
Este artículo le ayuda a comprender lo siguiente:
- Qué modo de simultaneidad alta es y cuándo usarlo.
- Requisitos para el uso compartido de sesiones.
- Funcionamiento de la facturación para sesiones compartidas.
En el modo estándar, cada actividad de cuaderno o canalización inicia su propia sesión de Spark. En el modo de alta simultaneidad, una aplicación Spark hospeda varias cargas de trabajo mediante la asignación a cada carga su propio núcleo de bucle de lectura-evaluación-impresión (REPL). Cada núcleo de REPL aísla el estado de ejecución, por lo que las variables locales de una carga de trabajo no sobrescriben las variables de otra carga de trabajo.
Dado que la sesión compartida ya se está ejecutando, las cargas de trabajo posteriores pueden iniciarse mucho más rápido.
Nota:
En el caso de grupos personalizados con modo de simultaneidad alta, el inicio de sesión puede ser hasta 36 veces más rápido que una sesión estándar de Spark.
Principales funcionalidades
En el diagrama se resaltan tres características principales del modo de simultaneidad alta:
- Seguridad: el uso compartido de sesiones permanece dentro de un límite de usuario único.
- Multitarea: puede cambiar entre cuadernos y continuar trabajando sin esperar a que se cree o inicialice una nueva sesión de Spark.
- Rentabilidad: las sesiones compartidas mejoran el uso de recursos y reducen el costo de proceso de las cargas de trabajo de ingeniería de datos y ciencia de datos.
Requisitos de uso compartido de sesiones
El uso compartido de sesiones se aplica cuando se cumplen estas condiciones:
- Las sesiones están dentro de un límite de usuario único.
- Las sesiones usan la misma configuración predeterminada de Lakehouse.
- Las sesiones usan la misma configuración de proceso de Spark.
Si algún requisito difiere, Fabric inicia una sesión de Spark independiente.
Durante la inicialización de la sesión, Fabric crea un núcleo REPL. A medida que las nuevas cargas de trabajo se unen a la sesión compartida, los ejecutores se asignan mediante la programación FAIR en esos núcleos de REPL para reducir el riesgo de hambre.
Comportamiento de facturación
Cuando se utiliza el modo de alta concurrencia, solo el cuaderno o la actividad de canalización que inicia la aplicación compartida de Spark se factura. Las sesiones posteriores que comparten la misma sesión de Spark no incurren en facturación independiente.
Example
- Un usuario inicia Notebook 1, que inicia una sesión de Spark en modo de alta concurrencia.
- Después, el cuaderno 2, el cuaderno 3, el cuaderno 4 y el cuaderno 5 comparten la misma sesión.
- En este caso, solo se factura el Notebook 1 por el cálculo de Spark.
- Los cuadernos compartidos (de 2 a 5) no se facturan individualmente.
Este comportamiento también se refleja en Métricas de capacidad, donde el uso se informa en relación con el cuaderno iniciador.
Nota:
El mismo comportamiento de facturación se aplica a las actividades de canalización. Solo se cobra el cuaderno o la actividad que inicia la sesión de Spark.
Límite de compartición dinámica de sesiones
De forma predeterminada, una sesión de simultaneidad alta admite hasta cinco cuadernos que comparten la misma sesión de Spark. En el caso de las cargas de trabajo que requieren una mayor densidad de cuadernos, como canalizaciones paralelas a gran escala o análisis empresariales en la carga máxima, puede aumentar este límite hasta 50 cuadernos por sesión.
Nota:
Esta actualización no cambia el límite predeterminado de cinco. Debe establecer spark.highConcurrency.max explícitamente para aumentar su valor.
Configuración del límite de uso compartido de sesión
Establezca el límite de compartición de sesiones en el elemento Entorno que usan los cuadernos o los cuadernos activados por la canalización.
Vaya al área de trabajo y abra Entornos.
Seleccione el entorno asociado a su cuaderno o canalización.
Abra Propiedades de Spark.
Agregue la siguiente propiedad y establezca un valor entre 2 y 50:
spark.highConcurrency.max = <value>Por ejemplo, para permitir hasta 20 cuadernos por sesión:
spark.highConcurrency.max = 20Guarde y publique el entorno.
Todos los cuadernos y las actividades de flujo de trabajo que utilizan este entorno heredan automáticamente el límite actualizado.
Cuándo aumentar el límite de uso compartido de sesiones
| Escenario | Acción recomendada |
|---|---|
| Flujos de trabajo paralelos a gran escala con muchas actividades de notebook | Aumente spark.highConcurrency.max para reducir la fragmentación de la sesión |
| Cargas de trabajo interactivas de alta carga con muchos usuarios simultáneos | Aumento del límite para mejorar los tiempos de adquisición de sesión |
| Cargas de trabajo sensibles a los costos donde la agrupación densa reduce el gasto computacional | Ajuste el límite para que coincida con los requisitos de simultaneidad |
| Cargas de trabajo con requisitos de aislamiento estrictos | Mantener el límite predeterminado de 5 o inferior |
El aumento del límite de uso compartido de sesiones permite:
- Adquisición de sesión más rápida durante la carga máxima al reducir el tiempo de espera de una nueva sesión.
- Mayor densidad de cuaderno sin fragmentar en muchas sesiones independientes.
- Ajuste dinámico alineado con los objetivos de intensidad, costo y rendimiento de la carga de trabajo.
- Mejor eficiencia en el rendimiento del precio , a la vez que se conserva el aislamiento y la equidad en todos los trabajos.
Contenido relacionado
- Apache Spark en Microsoft Fabric
- Para empezar a trabajar con el modo de simultaneidad alta en cuadernos, consulte Configurar el modo de simultaneidad alta para cuadernos de Fabric.
- Para ver el comportamiento de carga y previsualización de Lakehouse, consulte modo de alta concurrencia para las operaciones de Lakehouse en Microsoft Fabric.