es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Puede preinstalar bibliotecas en los nodos del grupo de Databricks?

Tenemos varios trabajos de Python en Databricks que utilizan el mismo paquete Wheel subyacente para instalar sus dependencias. La instalación de este paquete Wheel, incluso en un nodo inactivo en un grupo de recursos, todavía lleva 90 segundos.

Algunos de estos trabajos son de larga duración, por lo que nos gustaría utilizar los clústeres de computadoras de Jobs para reducir los costos en unidades de DBUs.

Algunos de estos trabajos son de corta duración (<10 segundos) y el tiempo de instalación de 90 segundos parece más significativo. Hemos estado considerando el uso de un clúster activo (All-Purpose Compute) para estos trabajos más cortos. Nos gustaría evitar el costo adicional del clúster All-Purpose Compute si es posible.

La lectura de la documentación de Databricks sugiere que las instancias inactivas en el grupo de recursos están reservadas para nosotros y no nos están costando unidades de DBUs. ¿Hay alguna manera de preinstalar las bibliotecas requeridas en nuestras instancias inactivas para que cuando llegue un trabajo, podamos comenzar a procesarlo de inmediato?

¿Existe un enfoque alternativo que pueda cumplir un caso de uso similar?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Solución:

    Sí, existe un enfoque alternativo para cumplir con este caso de uso. En lugar de instalar previamente las bibliotecas requeridas en instancias inactivas, podemos crear múltiples configuraciones de clúster con diferentes tipos de nodos en el mismo conjunto de clústeres para acomodar tanto trabajos de larga duración como de corta duración. Podemos tener un clúster con alta memoria y CPU para los trabajos de larga duración y un clúster más pequeño y eficiente en costos para los trabajos de corta duración.

    Además, podemos utilizar las API REST de Databricks para automatizar el proceso de inicio del clúster. Antes de iniciar el trabajo, la API puede verificar el tiempo de ejecución esperado del trabajo e iniciar un clúster del tamaño adecuado.

    Este enfoque evitaría el costo adicional de utilizar All-Purpose Compute para los trabajos de corta duración y nos permitiría utilizar eficientemente las instancias inactivas en el conjunto. También simplificaría el proceso de instalación y reduciría el tiempo de ejecución general de nuestros trabajos.

Comments are closed.