Procedimientos recomendados: grupos

Los clústeres proporcionan los recursos de cálculo y las configuraciones que ejecutan los cuadernos y los trabajos. Los clústeres se ejecutan en instancias aprovisionadas por el proveedor de nube a petición. La Azure Databricks de análisis proporciona una manera eficaz y rentable de administrar la infraestructura de análisis. En este artículo se muestra cómo abordar los siguientes desafíos al crear nuevos clústeres o escalar verticalmente los clústeres existentes:

  • El tiempo de ejecución del Azure Databricks trabajo puede ser más corto que el tiempo para aprovisionar instancias e iniciar un nuevo clúster.
  • Cuando el escalado automático está habilitado en un clúster, el proveedor de nube tarda tiempo en aprovisionar nuevas instancias. Esto puede afectar negativamente a los trabajos con requisitos de rendimiento estrictos o cargas de trabajo variables.

Azure Databricks grupos reducen los tiempos de inicio y escalado vertical del clúster al mantener un conjunto de instancias disponibles y listas para usar.

Puede usar un grupo diferente para el nodo de controlador y los nodos de trabajo.

Para obtener una introducción a los grupos y las recomendaciones de configuración, vea el vídeo siguiente:

Como se muestra en el diagrama siguiente, cuando un clúster asociado a un grupo necesita una instancia, primero intenta asignar una de las instancias disponibles del grupo. Si el grupo no tiene instancias disponibles, se expande asignando una nueva instancia del proveedor de nube para dar cabida a la solicitud del clúster. Cuando un clúster libera una instancia, la instancia vuelve al grupo y es gratuita para que la use otro clúster. Solo los clústeres conectados a un grupo pueden usar las instancias disponibles de ese grupo.

Asignación de instancias de un grupo

En este artículo se de abordan los siguientes procedimientos recomendados para garantizar el mejor rendimiento al menor costo cuando se usan grupos:

  • Cree grupos mediante tipos de instancia y Azure Databricks entornos de ejecución basados en cargas de trabajo de destino.
  • Cuando sea posible, rellene los grupos con instancias de spot para reducir los costos.
  • Rellene grupos con instancias a petición para trabajos con tiempos de ejecución cortos y requisitos estrictos de tiempo de ejecución.
  • Use etiquetas de grupo y etiquetas de clúster para administrar la facturación.
  • Use las opciones de configuración de grupo para minimizar el costo.
  • Rellene previamente los grupos para asegurarse de que las instancias estén disponibles cuando los clústeres los necesiten.

Creación de grupos basados en cargas de trabajo

Si el nodo de controlador y los nodos de trabajo tienen requisitos diferentes, cree un grupo diferente para cada uno.

Puede minimizar el tiempo de adquisición de instancias mediante la creación de un grupo para cada tipo de instancia Azure Databricks tiempo de ejecución que la organización usa habitualmente. Por ejemplo, si la mayoría de los clústeres de ingeniería de datos usan el tipo de instancia A, los clústeres de ciencia de datos usan el tipo de instancia B y los clústeres de análisis usan el tipo de instancia C, cree un grupo con cada tipo de instancia.

Configure <grupos de instancias para usar instancias a petición para trabajos con tiempos de ejecución cortos y requisitos estrictos de tiempo de ejecución. Use instancias a petición para evitar que las instancias adquiridas se pierdan a un mayor riesgo en el mercado al por mayor.

Configure grupos para usar instancias de spot para clústeres que admitan desarrollo interactivo o trabajos que prioricen el ahorro de costos sobre la confiabilidad.

Grupos de etiquetas para administrar el costo y la facturación

El etiquetado de grupos en el centro de costos correcto le permite administrar el contra reembolso de costos y uso. Puede usar varias etiquetas personalizadas para asociar varios centros de costos a un grupo. Sin embargo, es importante comprender cómo se propagan las etiquetas cuando se crea un clúster a partir de grupos. Como se muestra en el diagrama siguiente, las etiquetas de los grupos se propagan a las instancias del proveedor de nube subyacentes, pero las etiquetas del clúster no. Aplique todas las etiquetas personalizadas necesarias para administrar el contra reembolso del costo de proceso del proveedor de nube en el grupo.

Las etiquetas de grupo y las etiquetas de clúster se propagan a Azure Databricks facturación. Puede usar la combinación de etiquetas de clúster y grupo para administrar el contra reembolso de Azure Databricks unidades.

Jerarquía de etiquetado

Para más información, consulte Supervisión del uso mediante etiquetas de clúster, grupo y área de trabajo.

Configuración de grupos para controlar el costo

Puede usar las siguientes opciones de configuración para ayudar a controlar el costo de los grupos:

  • Establezca Min Idle instances (Instancias inactivas mínimas) en 0 para evitar pagar por las instancias en ejecución que no están realizando el trabajo. El resultado es un posible aumento en el tiempo cuando un clúster necesita adquirir una nueva instancia.
  • Establezca el tiempo de terminación automática de la instancia inactiva para proporcionar un búfer entre el momento en que se libera la instancia del clúster y el momento en que se descarta del grupo. Establezca esta opción en un período que le permita minimizar el costo y, al mismo tiempo, garantizar la disponibilidad de las instancias para los trabajos programados. Por ejemplo, el trabajo A está programado para ejecutarse a las 8:00 a. m. y tarda 40 minutos en completarse. El trabajo B está programado para ejecutarse a las 9:00 a. m. y tarda 30 minutos en completarse. Establezca el valor de Terminación automática de instancia inactiva en 20 minutos para asegurarse de que las instancias devueltas al grupo cuando se complete el trabajo A estén disponibles cuando se inicie el trabajo B. A menos que otro clúster las resalte, esas instancias se finalizan 20 minutos después de que finalice el trabajo B.
  • Establezca la capacidad máxima en función del uso previsto. Esto establece el límite máximo para el número máximo de instancias usadas e inactivas en el grupo. Si un trabajo o clúster solicita una instancia de un grupo a su capacidad máxima, se produce un error en la solicitud y el clúster no adquiere más instancias. Por lo tanto, Databricks recomienda establecer la capacidad máxima solo si hay una restricción de presupuesto o cuota de instancia estricta.

Rellenado previamente de grupos

Para beneficiarse completamente de los grupos, puede rellenar previamente los grupos recién creados. Establezca las instancias inactivas mínimas mayores que cero en la configuración del grupo. Como alternativa, si sigue la recomendación de establecer este valor en cero, use un trabajo de inicio para asegurarse de que los grupos recién creados tienen instancias disponibles para que los clústeres tengan acceso.

Con el enfoque de trabajo de inicio, programe un trabajo con requisitos de tiempo de ejecución flexibles para que se ejecute antes de los trabajos con requisitos de rendimiento más estrictos o antes de que los usuarios empiecen a usar clústeres interactivos. Una vez que finaliza el trabajo, las instancias usadas para el trabajo se liberan de nuevo en el grupo. Establezca el valor De instancia inactiva mínima en 0 y establezca el tiempo de terminación automática de la instancia inactiva lo suficientemente alto como para asegurarse de que las instancias inactivas permanecen disponibles para los trabajos posteriores.

El uso de un trabajo de inicio permite que las instancias del grupo se desdoblan, rellenan el grupo y permanecen disponibles para trabajos de bajada o clústeres interactivos.

Más información

Obtenga más información sobre Azure Databricks grupos .