Compartir por


Modo de simultaneidad alta en Apache Spark para Fabric

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.

Diagrama que muestra el funcionamiento del modo de alta simultaneidad en Fabric.

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.