Procedimientos recomendados de grupo
En este artículo se explica qué son los grupos y cómo puede configurarlos mejor. Para obtener información sobre cómo crear un grupo, consulte Referencia de configuración del grupo.
Nota:
Si la carga de trabajo admite el proceso sin servidor, Databricks recomienda usar proceso sin servidor en lugar de grupos para aprovechar el proceso siempre activado y escalable. Véase Conexión a la computación sin servidor.
Consideraciones sobre el grupo
Tenga en cuenta lo siguiente al crear un grupo:
- Cree grupos mediante tipos de instancia y entornos de ejecución de Azure Databricks basados en cargas de trabajo de destino.
- Cuando sea posible, rellene los grupos con instancias de máquinas virtuales de acceso puntual para reducir los costos. Use solo grupos de acceso puntual como nodos de trabajo. El nodo del controlador debe usar instancias a petición.
- 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 de clúster para administrar la facturación.
- Rellene previamente los grupos para asegurarse de que las instancias estén disponibles cuando los clústeres las necesiten.
Crear grupos basados en cargas de trabajo
Puede minimizar el tiempo de adquisición de instancias mediante la creación de un grupo para cada tipo de instancia y de entorno de ejecución de Azure Databricks que la organización use normalmente. 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.
Uso de grupos de instancias de acceso puntual
Si el nodo de controlador y los nodos de trabajo tienen requisitos diferentes, use grupos diferentes para cada uno.
Azure Databricks recomienda no usar instancias de acceso puntual para el nodo de controlador. Si usa un grupo de acceso puntual para el nodo de trabajo, seleccione un grupo a petición como tipo de controlador.
Configure los grupos 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 favor de un pujador mejor en el mercado de máquinas virtuales de acceso puntual.
Configure los grupos para que usen instancias de máquinas virtuales de acceso puntual para clústeres que admitan desarrollo interactivo o trabajos que prioricen el ahorro de costos en lugar de la confiabilidad.
Etiquetar grupos para administrar el coste y la facturación
El etiquetado de grupos en el centro de coste correcto le permite administrar el costo y los contracargos por uso. Puede usar varias etiquetas personalizadas para asociar varios centros de coste a un grupo. Sin embargo, es importante comprender cómo se propagan las etiquetas cuando se crea un clúster a partir de grupos. Las etiquetas de los grupos se propagan a las instancias del proveedor de nube subyacentes, pero las etiquetas del clúster no lo hacen. Aplique todas las etiquetas personalizadas necesarias para administrar el contracargo del costo de proceso del proveedor de nube al grupo.
Las etiquetas de grupo y las etiquetas de clúster se propagan a la facturación de Azure Databricks. Puede usar la combinación de etiquetas de clúster y de grupo para administrar el contracargo de unidades de Azure Databricks.
Para obtener más información, vea Supervisión del uso mediante etiquetas.
Configurar grupos para controlar el coste
..azure-aws:
You can use the following configuration options to help control the cost of pools:
- Set the [Min Idle](/compute/pools.md#minimum-idle-instances) instances to 0 to avoid paying for running instances that aren’t doing work. The tradeoff is a possible increase in time when a cluster needs to acquire a new instance.
- Set the [Max Capacity](/compute/pools.md#maximum-capacity) based on anticipated usage. This sets the ceiling for the maximum number of used and idle instances in the pool. If a job or cluster requests an instance from a pool at its maximum capacity, the request fails, and the cluster doesn't acquire more instances. Therefore, Databricks recommends that you set the maximum capacity only if there is a strict instance quota or budget constraint.
- Set the [Idle Instance Auto Termination](/compute/pools.md#idle-instance-auto-termination) time to provide a buffer between when the instance is released from the cluster and when it’s dropped from the pool. Set this to a period that allows you to minimize cost while ensuring the availability of instances for scheduled jobs. For example, job A is scheduled to run at 8:00 AM and takes 40 minutes to complete. Job B is scheduled to run at 9:00 AM and takes 30 minutes to complete. Set the Idle Instance Auto Termination value to 20 minutes to ensure that instances returned to the pool when job A completes are available when job B starts. Unless they are claimed by another cluster, those instances are terminated 20 minutes after job B ends.
Rellenar grupos previamente
Para beneficiarse completamente de los grupos, puede rellenar previamente los grupos recién creados. Establezca las instancias con mínimo de inactividad en un valor mayor 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 tengan instancias disponibles para que los clústeres accedan.
Con el enfoque de trabajo de inicio, programe un trabajo con requisitos de tiempo de ejecución flexibles para que se ejecute antes que los trabajos con requisitos de rendimiento más estrictos o antes de que los usuarios empiecen a usar clústeres interactivos. Una vez que finalice el trabajo, las instancias usadas por el trabajo se liberan de nuevo en el grupo. Establezca el valor de instancias con mínimo de inactividad en 0 y establezca el tiempo de Terminación automática de instancias inactivas en un valor lo suficientemente alto como para asegurarse de que las instancias inactivas permanezcan disponibles para los trabajos posteriores.
El uso de un trabajo de inicio permite que las instancias del grupo se pongan en marcha, rellenen el grupo y permanezcan disponibles para trabajos de bajada o clústeres interactivos.