Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Se aplica a: Ingeniería de datos de tejido y ciencia de datos
Fabric Data Engineering and Data Science se ejecutan en una plataforma de proceso de Apache Spark totalmente administrada. Los grupos de inicio proporcionan inicio rápido de sesión, normalmente en 5 a 10 segundos, sin configuración manual. Los grupos de Spark personalizados permiten optimizar el tamaño del nodo, el comportamiento de escalado y otras configuraciones de proceso para la carga de trabajo. En resumen, los grupos de inicio proporcionan Spark rápido y preconfigurado, mientras que los grupos de Spark personalizados proporcionan un mayor control y flexibilidad.
Imagen de una plataforma de proceso Spark con grupos de inicio y grupos Spark personalizados.
Grupos iniciales
Los grupos de inicio son una manera rápida y fácil de usar Spark en la plataforma Microsoft Fabric en cuestión de segundos. Puede usar las sesiones de Spark de inmediato, en lugar de esperar a que Spark configure los nodos, lo que le ayuda a hacer más con los datos y obtener información más rápido.
Imagen de una tabla que muestra la configuración del grupo de inicio.
Los grupos de inicio tienen clústeres de Apache Spark con sesiones que siempre están activas y listas para sus solicitudes. Usan nodos medianos que se escalan verticalmente de forma dinámica en función de las necesidades del trabajo de Spark.
Diagrama que muestra el diseño de alto nivel de los pools iniciales.
Cuando se usa un grupo de inicio sin dependencias de biblioteca adicionales o propiedades personalizadas de Spark, la sesión normalmente se inicia en 5 a 10 segundos. Este inicio rápido es posible porque el clúster ya se está ejecutando y no requiere tiempo de aprovisionamiento.
Nota:
Los grupos de inicio solo admiten tamaño medio de nodo. Si selecciona un tamaño de nodo diferente o personaliza configuraciones de proceso, Fabric usa el inicio de sesión a petición, que puede tardar entre 2 y 5 minutos.
Sin embargo, hay varios escenarios en los que la sesión puede tardar más tiempo en iniciarse.
Bibliotecas personalizadas o propiedades de Spark: si ha configurado bibliotecas o opciones personalizadas en su entorno, Spark tiene que personalizar la sesión una vez creada. Este proceso puede agregar aproximadamente 30 segundos a 5 minutos al tiempo de inicio, según el número y el tamaño de las dependencias de la biblioteca.
Los grupos de inicio de tu región están completamente utilizados: En raras ocasiones, los grupos de inicio de una región podrían agotarse temporalmente debido al elevado tráfico. Cuando esto sucede, Fabric pone en marcha un nuevo clúster para dar cabida a la solicitud, lo que tarda aproximadamente entre 2 y 5 minutos. Una vez disponible el nuevo clúster, se inicia la sesión. Si también tiene bibliotecas personalizadas para instalar, agregue los 30 segundos adicionales a 5 minutos necesarios para la personalización.
Características avanzadas de red o seguridad (vínculos privados o redes virtuales administradas): cuando el área de trabajo tiene características de red como Vínculos privados de inquilino o redes virtuales administradas, no se admiten grupos de inicio. En esta situación, Fabric debe crear un clúster a petición, que agrega de 2 a 5 minutos a la hora de inicio de la sesión. Si también tiene dependencias de biblioteca, ese paso de personalización puede agregar otros 30 segundos a 5 minutos.
Estos son algunos escenarios de ejemplo para ilustrar las posibles horas de inicio:
| Escenario | Tiempo de inicio típico |
|---|---|
| Configuración predeterminada, sin bibliotecas | De 5 a 10 segundos |
| Configuración predeterminada y dependencias de biblioteca | 5 – 10 segundos + 30 segundos – 5 minutos (para la configuración de la biblioteca) |
| Tráfico elevado en la región, sin bibliotecas | De 2 a 5 minutos |
| Alto tráfico y dependencias de biblioteca | 2 – 5 minutos + 30 segundos – 5 minutos (para bibliotecas) |
| Seguridad de red (vínculos privados/red virtual), sin bibliotecas | De 2 a 5 minutos |
| Seguridad de red y dependencias de biblioteca | 2 – 5 minutos + 30 segundos – 5 minutos (para bibliotecas) |
En lo que respecta a la facturación y el consumo de capacidad, se le cobra por el consumo de capacidad cuando empieza a ejecutar la definición de trabajo de bloc de notas o Apache Spark. No se le cobrará durante el tiempo que los clústeres permanezcan inactivos en el grupo.
Diagrama que ilustra las etapas principales en la facturación de los grupos iniciadores.
Por ejemplo, si envía un trabajo de bloc de notas a un grupo de inicio, solo se le facturará por el periodo de tiempo en el que la sesión de bloc de notas esté activa. El tiempo facturado no incluye el tiempo de inactividad o el tiempo necesario para personalizar la sesión con el contexto de Spark. Para más información, consulte Configuración de grupos de inicio en Fabric.
Grupos de Spark
Un grupo de Spark es una manera de indicar a Spark qué tipo de recursos necesita para las tareas de análisis de datos. Puede asignar un nombre al grupo de Spark y elegir el número y el tamaño de los nodos (las máquinas que realizan el trabajo). También puede indicar a Spark cómo ajustar el número de nodos en función del trabajo que tenga. La creación de un grupo de Spark es gratuita; solo paga cuando ejecuta un trabajo de Spark en el grupo y, a continuación, Spark configura los nodos por usted.
Si no utiliza su grupo de Spark durante 2 minutos después de que expire su sesión, su grupo de Spark será desasignado. Este período de tiempo de expiración de sesión predeterminado se establece en 20 minutos y puede cambiarlo si lo desea. Si es administrador del área de trabajo, también puede crear grupos de Spark personalizados para el área de trabajo y convertirlos en la opción predeterminada para otros usuarios. De este modo, puede ahorrar tiempo y evitar la configuración de un nuevo grupo de Spark cada vez que ejecute un cuaderno o un trabajo de Spark. Los grupos de Spark personalizados tardan unos tres minutos en iniciarse, ya que Spark debe obtener los nodos de Azure.
Incluso puede crear grupos de Spark de un solo nodo, estableciendo el número mínimo de nodos en uno, de modo que el controlador y el ejecutor se ejecuten en un único nodo que viene con alta disponibilidad restaurable y es adecuado para cargas de trabajo pequeñas.
El tamaño y el número de nodos que puede tener en el grupo de Spark personalizado depende de la capacidad de Microsoft Fabric. La capacidad es una medida de la cantidad de potencia informática que puede usar. Una manera de pensar es que dos núcleos virtuales de Apache Spark (una unidad de proceso de Spark) son iguales a una unidad de capacidad.
Nota:
En Apache Spark, los usuarios obtienen dos núcleos virtuales de Apache Spark para cada unidad de capacidad que reservan como parte de su SKU. Una unidad de capacidad = dos núcleos virtuales de Spark. Por ejemplo, F64 proporciona 128 núcleos virtuales de Spark y un multiplicador de 3 ráfagas aumenta este valor a 384 núcleos virtuales de Spark.
Por ejemplo, una SKU de capacidad de Fabric F64 tiene 64 unidades de capacidad, lo que equivale a 384 núcleos virtuales Spark (64 * 2 * 3X multiplicador de ráfaga). Puede usar estos núcleos virtuales de Spark para crear nodos de diferentes tamaños para el grupo de Spark personalizado, siempre que el número total de núcleos virtuales de Spark no supere los 384.
Los grupos de Spark se facturan como los grupos iniciales; no paga por los grupos de Spark personalizados que haya creado a menos que tenga una sesión Spark activa creada para ejecutar un bloc de notas o una definición de trabajo Spark. Solo se le factura por el tiempo que duren sus ejecuciones de tareas. No se le facturan etapas como la creación del clúster y la desasignación una vez finalizado el trabajo.
Diagrama que muestra las etapas principales en la facturación de pools personalizados.
Por ejemplo, si envía un trabajo de bloc de notas a un grupo de Spark personalizado, solo se le cobrará por el periodo de tiempo en que la sesión esté activa. La facturación de esa sesión de bloc de notas se detiene una vez que la sesión de Spark se ha detenido o ha expirado. No se le cobrará por el tiempo empleado en adquirir instancias de clúster de la nube ni por el tiempo empleado en inicializar el contexto de Spark.
Posibles configuraciones de grupo personalizadas para F64 en función del ejemplo anterior. Los tamaños de nodo más pequeños tienen capacidad distribuida entre más nodos, por lo que el número máximo de nodos es mayor. Mientras que los nodos más grandes son enriquecidos con recursos, por lo que se necesitan menos nodos:
| SKU de capacidad de Fabric | Unidades de capacidad | Número máximo de núcleos virtuales de Spark con factor de ráfaga | Tamaño del nodo | Número máximo de nodos |
|---|---|---|---|---|
| F64 | 64 | 384 | Pequeño | 96 |
| F64 | 64 | 384 | Medio | 48 |
| F64 | 64 | 384 | Grande | veinticuatro |
| F64 | 64 | 384 | Extra grande | 12 |
| F64 | 64 | 384 | XXL (Extra grande) | 6 |
Nota:
Para crear grupos personalizados, necesita permisos de administrador para el área de trabajo. El administrador de capacidad de Microsoft Fabric también debe conceder permisos que permitan a los administradores del área de trabajo ajustar el tamaño de los grupos de Spark personalizados. Para más información, consulte Introducción a grupos de Spark personalizados en Fabric.
Nodos
Una instancia de grupo de Apache Spark consta de un nodo principal y uno o varios nodos de trabajo. Una instancia de Spark puede empezar con un mínimo de un nodo. El nodo principal ejecuta servicios de administración como Livy, YARN Resource Manager, ZooKeeper y el controlador de Apache Spark. Todos los nodos ejecutan servicios como node Agent y YARN Node Manager. Todos los nodos de trabajo ejecutan el servicio Apache Spark Executor.
Nota:
En Fabric, la relación de nodos con los ejecutores siempre es 1:1. Al configurar un grupo, un nodo se dedica al controlador y los nodos restantes se usan para los ejecutores. La única excepción es en una configuración de nodo único, donde los recursos para el controlador y el ejecutor se reducen a la mitad.
Tamaño de nodo
Un grupo de Spark puede definirse con tamaños de nodo que van desde un nodo de computación pequeño (con 4 vCore y 32 GB de memoria) hasta un nodo de computación extremadamente grande (con 64 vCore y 512 GB de memoria por nodo). El tamaño de los nodos puede modificarse tras la creación del pool, aunque habría que reiniciar la sesión activa.
| Tamaño | vCore | Memoria |
|---|---|---|
| Pequeño | 4 | 32 GB |
| Medio | 8 | 64 GB |
| Grande | 16 | 128 GB |
| Extra grande | 32 | 256 GB |
| Extra grande | 64 | 512 GB |
Nota:
Los tamaños de nodo X-Large y XX-Large están permitidos únicamente para SKU de Fabric que no sean de prueba.
Escalado automático
La escalabilidad automática para grupos de Apache Spark proporciona la capacidad de escalar y reducir verticalmente los recursos de proceso en función de la cantidad de actividad. Cuando activas la función de auto escalado, establece el número mínimo y máximo de nodos a escalar. Cuando se deshabilita la función de auto escala, el número de nodos establecido permanece fijo. Puede modificar esta configuración tras la creación del grupo, aunque es posible que tenga que reiniciar la instancia.
Nota:
De forma predeterminada, spark.yarn.executor.decommission.enabled se establece como “true”, lo que permite el apagado automático de nodos infrautilizados para optimizar la eficacia del proceso. Si se prefiere una reducción de escala menos agresiva, esta configuración se puede establecer como "false".
Asignación dinámica
La asignación dinámica permite a la aplicación Apache Spark solicitar más ejecutores si las tareas superan la carga que los ejecutores actuales pueden soportar. También libera los ejecutores cuando se completan los trabajos, y si la aplicación Spark pasa a estado inactivo. A los usuarios empresariales a menudo les resulta difícil ajustar las configuraciones del ejecutor porque son muy diferentes en las distintas etapas del proceso de ejecución de un trabajo de Spark. Estas configuraciones también dependen del volumen de datos procesados, que cambian de vez en cuando. Puede habilitar la opción de asignación dinámica de ejecutores como parte de la configuración del grupo, lo que permite la asignación automática de ejecutores a la aplicación Spark en función de los nodos disponibles en el grupo Spark.
Cuando habilite la opción de asignación dinámica para cada aplicación Spark enviada, el sistema reserva ejecutores durante el paso de envío del trabajo basándose en los nodos mínimos. Se especifican los nodos máximos para admitir escenarios de escalado automático satisfactorios.
Contenido relacionado
- Comienza con la configuración administrativa de ingeniería de datos y ciencia de datos para la capacidad de Fabric.
- Configuración de administración del área de trabajo de Apache Spark en Microsoft Fabric