Compartir a través de


Recomendaciones de configuración de proceso

En este artículo se incluyen recomendaciones y procedimientos recomendados relacionados con la configuración de proceso.

Si se admite la carga de trabajo, Databricks recomienda usar el proceso sin servidor en lugar de configurar su propio recurso de proceso. El proceso sin servidor es la opción de proceso más sencilla y fiable. No requiere ninguna configuración, siempre está disponible y se escala según la carga de trabajo. El proceso sin está disponible para cuadernos, trabajos y Delta Live Tables. Véase Conexión a la computación sin servidor.

Además, los analistas de datos pueden usar almacenes SQL sin servidor para consultar y explorar datos en Databricks. Vea ¿Qué son los almacenes SQL sin servidor?

Uso de directivas de proceso

Si va a crear un proceso desde cero, Databricks recomienda usar directivas de proceso. Las directivas de proceso permiten crear recursos de proceso preconfigurados diseñados para casos de uso específicos, como proceso personal, proceso compartido, usuarios avanzados y trabajos. Las directivas limitan las decisiones que debe tomar al configurar las opciones de proceso.

Si no tiene acceso a las directivas, póngase en contacto con el administrador del área de trabajo. Vea Directivas predeterminadas y familias de directivas.

Consideraciones de dimensionamiento de procesos

Nota:

En las siguientes recomendaciones se supone que tiene no tiene restricciones en la creación de clústeres. Los administradores del área de trabajo solo deben conceder este privilegio a los usuarios avanzados.

Las personas suelen pensar en el tamaño de proceso en términos del número de roles de trabajo, pero hay otros factores importantes que se deben tener en cuenta:

  • Totalidad de núcleos de ejecutores (proceso): número total de núcleos en todos los ejecutores. Esto determina el paralelismo máximo de un proceso.
  • Memoria total de los ejecutores: cantidad total de RAM en todos los ejecutores. Determina cuántos datos se pueden almacenar en la memoria antes de volcarlos en el disco.
  • Almacenamiento local del ejecutor: el tipo y la cantidad de almacenamiento en el disco local. El disco local se usa principalmente en el caso de desbordamientos durante los ordenes aleatorios y el almacenamiento en caché.

Entre las consideraciones adicionales se incluyen el tamaño y el tipo de instancia de trabajo, que también influyen en los factores anteriores. Al dimensionar procesos, tenga en cuenta:

  • ¿Cuántos datos consumirá la carga de trabajo?
  • ¿Cuál es la complejidad computacional de la carga de trabajo?
  • ¿Desde dónde se leen los datos?
  • ¿Cómo se realiza la partición de los datos en el almacenamiento externo?
  • ¿Cuánto paralelismo se necesita?

Al responder a estas preguntas, podrá determinar la configuración de procesos óptima en función de las cargas de trabajo.

Existe una acción de equilibrio entre la cifra de trabajos y el tamaño de los tipos de instancia de trabajo. La configuración del proceso con dos trabajos, cada uno con 16 núcleos y 128 GB de RAM, tiene el mismo proceso y memoria que la configuración del proceso con 8 trabajos, cada uno con 4 núcleos y 32 GB de RAM.

Ejemplos de configuración de proceso

Los siguientes ejemplos muestran recomendaciones para los procesos en función de tipos específicos de cargas de trabajo. Los ejemplos también incluyen opciones de configuración que se deben evitar y las razones por las cuales esas no son apropiadas para las cargas de trabajo.

Nota:

Todos los ejemplos de esta sección (además del entrenamiento de aprendizaje automático) podrían beneficiarse del uso de proceso sin servidor en lugar de poner en marcha un nuevo recurso de proceso. Si la carga de trabajo no se admite en procesos sin servidor, use las recomendaciones siguientes para ayudar a configurar el recurso de proceso.

Análisis de datos

Los analistas de datos suelen realizar el procesamiento que requiere datos de varias particiones, lo que provoca muchas operaciones de orden aleatorio. Un recurso de proceso con menos nodos grandes puede reducir la red y la E/S de disco necesarias para realizar estos órdenes aleatorios.

Es probable que un proceso de un solo nodo con un tipo de máquina virtual grande sea la mejor opción, especialmente para un único analista.

Es probable que las cargas de trabajo analíticas requieran leer los mismos datos repetidamente, por lo que los tipos de nodo recomendados están optimizados para el almacenamiento con la memoria caché de disco habilitada o son instancias con almacenamiento local.

Entre las características adicionales recomendadas para las cargas de trabajo analíticas se incluyen:

  • Habilite la terminación automática para asegurarse de que el proceso finaliza después de un período de inactividad.
  • Considerar la posibilidad de habilitar el escalado automático en función de la carga de trabajo típica del analista.

ETL por lotes básica

Los trabajos ETL de lotes simples que no requieren transformaciones amplias, como combinaciones o agregaciones, suelen beneficiarse de Photon. Por lo tanto, seleccione una instancia de uso general que admita Photon.

Las instancias con requisitos más bajos para la memoria y el almacenamiento pueden dar lugar a ahorros de costes en otros tipos de trabajo.

ETL de lote complejo

Para un trabajo complejo de ETL, como uno que requiere uniones y combinaciones en varias tablas, Databricks recomienda usar menos trabajos a fin de reducir la cantidad de datos aleatorios. Para compensar el hecho de tener menos trabajos, aumente el tamaño de las instancias.

Las transformaciones complejas pueden ser de proceso intensivo. Si observa un volcado significativo en el disco o errores de OOM, aumente la cantidad de memoria disponible en las instancias.

Opcionalmente, use grupos para reducir los tiempos de inicio de proceso y reducir el tiempo de ejecución total al ejecutar canalizaciones de trabajo.

Entrenamiento de modelos de Machine Learning

Para entrenar modelos de aprendizaje automático, Databricks recomienda crear un recurso de proceso mediante la directiva de Proceso personal.

Debe usar un proceso de nodo único con un tipo de nodo grande para la experimentación inicial con modelos de Machine Learning de entrenamiento. Tener menos nodos reduce el impacto de los orden aleatorios.

Agregar más trabajadores puede ayudar con la estabilidad, pero debe evitar agregar demasiados trabajos debido a la sobrecarga de los datos aleatorios.

Los tipos de trabajo recomendados están optimizados para el almacenamiento en caché de disco habilitado, o una instancia con almacenamiento local para tener en cuenta las lecturas repetidas de los mismos datos y para habilitar el almacenamiento en caché de los datos de entrenamiento.

Entre las características adicionales recomendadas para las cargas de trabajo de aprendizaje automático se incluyen:

  • Habilite la terminación automática para asegurarse de que el proceso finaliza después de un período de inactividad.
  • Utilice grupos, que permitirán restringir los procesos a los tipos de instancia aprobados previamente.
  • Asegúrese de que las configuraciones de proceso coherentes usan directivas.