Compartir a través de


Administración del proceso clásico

En este artículo se describe cómo administrar el proceso de Azure Databricks, incluida la visualización, edición, inicio, terminación, eliminación, control del acceso y la supervisión del rendimiento y los registros. También puede usar la API de clústeres para administrar el proceso mediante programación.

Ver proceso

Para ver el proceso, haga clic en icono de ProcesoProceso en la barra lateral del área de trabajo.

En el lado izquierdo hay dos columnas que indican si el proceso se ha anclado y su estado. Mantenga el puntero sobre el estado para obtener más información.

Ver configuración de proceso como un archivo JSON

A veces, puede resultar útil ver la configuración de proceso como JSON. Esto resulta especialmente útil cuando desea crear un proceso similar mediante la API de clústeres. Cuando vea un proceso existente, vaya a la pestaña Configuración, haga clic en JSON en la parte superior derecha de la pestaña, copie el JSON y péguelo en la llamada API. La vista JSON es de solo lectura.

Anclar proceso

30 días después de finalizar un proceso, se elimina permanentemente. Para mantener una configuración de proceso multiuso una vez que se haya terminado un proceso durante más de 30 días, un administrador puede anclarlo. Se pueden anclar hasta 100 recursos de proceso.

Los administradores pueden anclar un proceso desde la lista de procesos o la página de detalles del proceso haciendo clic en el icono de anclaje.

Editar proceso

Puede editar la configuración de un proceso desde la interfaz de usuario de detalles de proceso.

Nota

  • Los cuadernos y los trabajos que se adjuntaron al proceso permanecen conectados después de la edición.
  • Las bibliotecas instaladas en el proceso permanecen instaladas después de la edición.
  • Si edita cualquier atributo de un proceso en ejecución (excepto el tamaño de proceso y los permisos), debe reiniciarlo. Esto puede interrumpir a los usuarios que actualmente usan el proceso.
  • Solo puede editar un proceso en ejecución o terminado. Sin embargo, puede actualizar lospermisos de proceso no en esos estados en la página de detalles del proceso.

Clonar proceso

Para clonar una computadora existente, seleccione Clonar en el icono de menú Kebab de la computadora.

Después de seleccionar Clonar, la interfaz de usuario de creación de procesos se abre rellenada previamente con la configuración de proceso. Los siguientes atributos NO se incluyen en el clon:

  • Permisos de proceso
  • Cuadernos adjuntos

Si no desea incluir las bibliotecas instaladas anteriormente en el proceso clonado, haga clic en el menú desplegable situado junto al botón Crear proceso y seleccione Crear sin bibliotecas.

Permisos de proceso

Hay cuatro niveles de permisos para un proceso: NO PERMISSIONS, CAN ATTACH TO, CAN RESTART y CAN MANAGE. Para obtener más información, consulte ACL de proceso.

Nota

Los secretos no se censuran de los flujos stdout y stderr de registros de controladores de Spark del clúster. Para proteger los datos confidenciales, de forma predeterminada, los registros de controladores de Spark solo son visibles por los usuarios con permiso CAN MANAGE en clústeres de trabajos, modo de acceso dedicado y modo de acceso estándar. Para permitir que los usuarios con los permisos CAN ATTACH TO o CAN RESTART puedan ver los registros de estos clústeres, establezca la siguiente propiedad de configuración de Spark en la configuración del clúster: spark.databricks.acl.needAdminPermissionToViewLogs false.

En clústeres de modo de acceso compartido sin aislamiento, los usuarios con el permiso CAN ATTACH TO, CAN RESTART o CAN MANAGE pueden ver los registros del controlador de Spark. Para limitar quién podrá leer los registros solo a los usuarios con el permiso PUEDE ADMINISTRAR, establezca spark.databricks.acl.needAdminPermissionToViewLogs en true.

Consulte Configuración de Spark para obtener información sobre cómo agregar propiedades de Spark a una configuración de clúster.

Configuración de permisos de proceso

En esta sección, se describe cómo administrar los permisos mediante la interfaz de usuario del área de trabajo. También puede usar API Permissions o el proveedor de Terraform de Databricks.

Debe tener el permiso CAN MANAGE en un proceso para configurar los permisos de proceso.

  1. En la barra lateral, haga clic en Proceso.
  2. En la fila del proceso, haga clic en el menú kebab Icono de menú Kebab de la derecha y seleccione Editar permisos.
  3. En Configuración de permisos, haga clic en el menú desplegable Seleccionar usuario, grupo o entidad de servicio… y seleccione un usuario, grupo o entidad de servicio.
  4. Seleccione un permiso en el menú desplegable de permisos.
  5. Haga clic en Agregar y, luego, en Guardar.

Finalización proceso

Para ahorrar recursos de proceso, puede finalizar un proceso. La configuración de la computación finalizada se guarda para que se pueda reutilizar (o, en el caso de los trabajos, iniciarse automáticamente) más adelante. Puede finalizar manualmente un proceso o configurar el proceso para que finalice automáticamente después de un período de inactividad especificado.

A menos que un proceso sea anclado o se reinicie, se elimina automáticamente y permanentemente 30 días después de la finalización.

El proceso terminado aparece en la lista de proceso con un círculo gris a la izquierda del nombre de proceso.

Nota

Cuando se ejecuta un trabajo en un nuevo proceso de trabajo (lo que normalmente se recomienda), el proceso finaliza y no está disponible para reiniciarse cuando se completa el trabajo. Por otro lado, si programa un trabajo para que se ejecute en un proceso multiuso existente que se haya terminado, ese proceso se iniciará automáticamente.

Importante

Si usa un Área de trabajo de prueba Premium, se finalizan todos los procesos en ejecución:

  • Al actualizar un área de trabajo a la versión Premium completa.
  • Si el área de trabajo no se ha actualizado y la versión de prueba expira.

Finalización manual

Puede finalizar manualmente un proceso de la lista de proceso (haciendo clic en el cuadrado de la fila del proceso) o en la página de detalles del proceso (haciendo clic en Finalizar).

Terminación automática

También puede establecer la terminación automática para un proceso. Durante la creación del proceso, especifique un período de inactividad en minutos después del cual desea que finalice el proceso.

Si la diferencia entre la hora actual y la última ejecución del comando en el proceso es mayor que el período de inactividad especificado, Azure Databricks finaliza automáticamente ese proceso.

Un proceso se considera inactivo cuando todos los comandos del proceso, incluidos los trabajos de Spark, Structured Streaming, las llamadas JDBC y la actividad del terminal web de Azure Databricks han terminado de ejecutarse.

Advertencia

  • El proceso no notifica la actividad resultante del uso de DStreams. Esto significa que se puede finalizar un proceso de terminación automática mientras se ejecuta DStreams. Desactive la terminación automática para los clústeres que ejecutan DStreams o considere la posibilidad de usar Structured Streaming.
  • El proceso inactivo continúa acumulando cargos de instancia de DBU y en la nube durante el período de inactividad anterior a la finalización.

Configuración de la terminación automática

Puede configurar la terminación automática en la nueva interfaz de usuario de proceso. Asegúrese de que la casilla está marcada e ingrese un número de minutos en el ajuste Terminar tras minutos de inactividad.

Puede cancelar la terminación automática al desactivar la casilla de terminación automática o al especificar un período de inactividad de 0.

Nota

La terminación automática se admite mejor en las versiones más recientes de Spark. Las versiones anteriores de Spark tienen limitaciones conocidas que pueden dar lugar a informes inexactos de la actividad de proceso. Por ejemplo, el proceso que ejecuta comandos JDBC, R o streaming puede informar un tiempo de actividad obsoleto que conduce a una terminación prematura del proceso. Actualice a la versión más reciente de Spark para disfrutar de las ventajas de las correcciones de errores y las mejoras en la terminación automática.

Finalización inesperada

A veces, un proceso finaliza de forma inesperada, no como resultado de una terminación manual o una terminación automática configurada.

Para obtener una lista de los motivos de finalización y los pasos para solucionarlo, consulte Knowledge Base.

Eliminar proceso

La eliminación de un proceso finaliza el proceso y quita su configuración. Para eliminar un proceso, seleccione Eliminar en el menú del proceso Icono de menú Kebab.

Advertencia

No es posible deshacer esta acción.

Para eliminar un proceso anclado, primero hay que desanclarlo por un administrador.

También puede invocar la API de clústeres punto de conexión para eliminar un proceso mediante programación.

Reiniciar proceso

Puede reiniciar un proceso terminado previamente desde la lista de proceso, la página de detalles de proceso o un cuaderno. También puede invocar la API de clústeres del punto de conexión para iniciar un proceso mediante programación.

Azure Databricks identifica un proceso mediante su ID de clúster único. Cuando se inicia un proceso finalizado, Databricks vuelve a crear el proceso con el mismo ID, instala automáticamente todas las bibliotecas y vuelve a conectar los cuadernos.

Nota

Si usa un Área de trabajo de prueba y la prueba ha expirado, no podrá iniciar un proceso.

Reinicie un proceso para actualizarlo con las imágenes más recientes

Al reiniciar un proceso, obtiene las imágenes más recientes para los contenedores de recursos de proceso y los hosts de máquina virtual. Es especialmente importante programar reinicios regulares para los procesos de ejecución de larga duración, como los que se usan para procesar datos en streaming.

Debe encargarse de reiniciar todos los recursos de proceso periódicamente para mantener actualizada la imagen con la versión más reciente.

Importante

Si habilita el perfil de seguridad de cumplimiento para su cuenta o su área de trabajo, el proceso de ejecución de larga duración se reinicia automáticamente según sea necesario durante la ventana de mantenimiento programado. Esto reduce el riesgo de que un reinicio automático interrumpa un trabajo programado. También puede forzar un reinicio durante la ventana de mantenimiento. Consulte Actualización automática del clúster.

Ejemplo de cuaderno: búsqueda de proceso de ejecución prolongada

Si es administrador del área de trabajo, puede ejecutar un script que determine cuánto tiempo se ha ejecutado cada uno de los procesos y, opcionalmente, reiniciarlos si son anteriores a un número especificado de días. Azure Databricks proporciona este script en forma de cuaderno.

Las primeras líneas del script definen los siguientes parámetros de configuración:

  • min_age_output: el número máximo de días que se puede ejecutar un proceso. El valor predeterminado es 1.
  • perform_restart: si True, el script reinicia cualquier proceso con una antigüedad mayor que el número de días especificado por min_age_output. El valor predeterminado es False, que identifica el proceso de ejecución prolongada, pero no los reinicia.
  • secret_configuration: reemplace los valores REPLACE_WITH_SCOPE y REPLACE_WITH_KEY por un ámbito de secreto y un nombre de clave. Para obtener más información sobre cómo configurar los secretos, consulte el cuaderno.

Advertencia

Si establece perform_restart en True, el script reinicia automáticamente el proceso apto, lo que puede hacer que los trabajos activos produzcan errores y restablezcan los cuadernos abiertos. Para reducir el riesgo de interrumpir los trabajos críticos para la empresa del área de trabajo, planee una ventana de mantenimiento programada y asegúrese de notificar a los usuarios del área de trabajo.

Identificar y opcionalmente reiniciar el proceso de ejecución prolongada

Obtención del cuaderno

Inicio automático de proceso para trabajos y consultas JDBC/ODBC

Cuando un trabajo asignado a un proceso terminado está programado para ejecutarse o se conecta a un proceso terminado desde una interfaz JDBC/ODBC, el proceso se reinicia automáticamente. Consulte Configurar proceso para trabajos y Conexión de JDBC.

El inicio automático de proceso permite configurar el proceso para finalizar automáticamente sin necesidad de intervención manual para reiniciar el proceso para los trabajos programados. Además, puede programar la inicialización de proceso mediante la programación de un trabajo para que se ejecute en un proceso terminado.

Antes de que un equipo se reinicie automáticamente, se comprueban los permisos de control de acceso del equipo y del trabajo .

Nota

Si el proceso se ha creado en la versión 2.70 o anterior de la plataforma de Azure Databricks, no se producirá ningún inicio automático: los trabajos programados para ejecutarse en el proceso terminado producirán un error.

Visualización de la información de proceso en la interfaz de usuario de Spark

Para ver información detallada sobre los trabajos de Spark, seleccione la pestaña Interfaz de usuario de Spark en la página de detalles del proceso.

Si reinicia un proceso terminado, la interfaz de usuario de Spark muestra información para el proceso reiniciado, no la información histórica del proceso finalizado.

Consulte Diagnóstico de problemas de costo y rendimiento al usar la interfaz de usuario de Spark para obtener ayuda paso a paso para el diagnóstico de problemas de costo y rendimiento al usar la interfaz de usuario de Spark.

Ver registros de proceso

Azure Databricks proporciona tres tipos de registro de actividad relacionada con el proceso:

  • Registros de eventos de proceso, que capturan eventos de ciclo de vida de proceso, como las ediciones de creación, finalización y configuración.
  • Registro de controladores y trabajadores de Apache Spark, que puede utilizar para depurar.
  • Registros de los scripts de inicialización de proceso, que son valiosos para depurar los scripts de inicialización.

En esta sección se describen los registros de eventos de proceso y los registros de controlador y de trabajo. Para obtener más información sobre los registros de scripts de inicio, consulte Registro de scripts de inicio.

Registros de eventos de proceso

El registro de eventos de proceso muestra eventos importantes del ciclo de vida de proceso desencadenados manualmente por acciones de usuario o automáticamente por Azure Databricks. Estos eventos afectan al funcionamiento de un proceso en su conjunto y a los trabajos que se ejecutan en el proceso.

Para ver los tipos de eventos compatibles, consulte la estructura de datos API de clústeres.

Los eventos se almacenan durante 60 días, que es comparable a otras duraciones de retención de datos en Azure Databricks.

Ver el registro de eventos de una computadora

Para ver el registro de eventos del proceso, seleccione la pestaña Registro de eventos en las páginas de detalles del proceso.

Para más información sobre un evento, haga clic en su fila en el registro y, a continuación, haga clic en la pestaña JSON para obtener más detalles.

Registros de trabajadores y controladores de proceso

Las instrucciones de registro e impresión directas de los cuadernos, los trabajos y las bibliotecas se guardan en los registros del controlador de Spark. Puede acceder a estos archivos de registro desde la pestaña Registros del controlador de la página de detalles del proceso. Haga clic en un archivo de registro para descargarlo.

Estos registros tienen tres salidas:

  • Salida estándar
  • Error estándar
  • Registros de Log4j

Para ver los registros de trabajo de Spark, use la pestaña de la Interfaz de usuario de Spark. También puede configurar una ubicación de entrega de registros para el proceso. Los registros de trabajo y de proceso se entregan a la ubicación que especifique.

Supervisar rendimiento

Para ayudarle a supervisar el rendimiento del proceso de Azure Databricks, Azure Databricks proporciona acceso a las métricas desde la página de detalles del proceso. Para Databricks Runtime 12.2 e inferiores, Azure Databricks proporciona acceso a las métricas Ganglia. Para Databricks Runtime 13.3 LTS y versiones posteriores, Azure Databricks proporciona métricas de proceso.

Además, puede configurar un proceso de Azure Databricks para enviar métricas a un área de trabajo de Log Analytics en Azure Monitor, la plataforma de supervisión para Azure.

También puede instalar agentes de Datadog en nodos de proceso para enviar métricas de Datadog a su cuenta de Datadog.

Métricas de cálculo

Las métricas de proceso son la herramienta de supervisión por defecto para el proceso de trabajos y multiuso sin servidor. Para acceder a la interfaz de usuario de métricas de proceso, vaya a la pestaña Métricas de la página de detalles del proceso.

Puede ver las métricas históricas seleccionando un intervalo de tiempo mediante el filtro de selección de fecha. Las métricas se recopilan cada minuto. También puede obtener las últimas métricas haciendo clic en el botón Actualizar. Para más información, consulte Visualización de métricas de proceso.

Métricas de Ganglia

Nota

Las métricas de Ganglia solo están disponibles para Databricks Runtime 12.2 y versiones inferiores.

Para acceder a la interfaz de usuario de Ganglia, vaya a la pestaña Métricas de la página de detalles del proceso y habilite la configuración Métricas heredadas. Las métricas de GPU están disponibles para el proceso habilitado para GPU.

Para ver las métricas en directo, haga clic en el vínculo de la interfaz de usuario de Ganglia.

Para ver las métricas históricas, haga clic en un archivo de instantánea. La instantánea contiene métricas agregadas de la hora anterior a la hora seleccionada.

Nota

Ganglia no es compatible con los contenedores de Docker. Si usa un Contenedor de Docker con el proceso, las métricas de Ganglia no estarán disponibles.

Configuración de la recopilación de métricas de Ganglia

De forma predeterminada, Azure Databricks recopila las métricas de Ganglia cada 15 minutos. Para configurar el período de recopilación, establezca la variable de entorno DATABRICKS_GANGLIA_SNAPSHOT_PERIOD_MINUTES usando un script de inicialización o en el campo spark_env_vars en Crear API de clústeres.

Azure Monitor

Puede configurar un proceso de Azure Databricks para enviar métricas a un área de trabajo de Log Analytics en Azure Monitor, la plataforma de supervisión de Azure.

Nota

Si implementó el área de trabajo de Azure Databricks en su propia área de trabajo virtual y configuró los grupo de seguridad de red (NSG) para denegar todo el tráfico de salida que Azure Databricks no necesita, debe configurar una regla de salida adicional para la etiqueta de servicio «AzureMonitor».

Ejemplo de cuaderno: métricas de Datadog

Métricas de Datadog

Puede instalar agentes de Datadog en nodos de proceso para enviar métricas de Datadog a su cuenta de Datadog. En el cuaderno siguiente se muestra cómo instalar un agente de Datadog en un proceso mediante un script de inicialización de proceso con ámbito.

Para instalar el agente de Datadog en todo el proceso, administre el script de inicialización de proceso con ámbito mediante una directiva de proceso.

Instalación del cuaderno de script de inicialización del agente de Datadog

Obtención del cuaderno

Retirada de instancias de acceso puntual

Dado que Instancias de acceso puntual pueden reducir los costos, la creación de procesos mediante instancias de spot en lugar de instancias a petición es una manera común de ejecutar trabajos. Sin embargo, los mecanismos de programación del proveedor de nube pueden interrumpir las instancias de acceso puntual. La preferencia por las instancias de acceso puntual puede generar problemas con los trabajos que se ejecutan, entre los que se incluyen:

  • Errores de captura aleatoria
  • Pérdida de datos aleatorios
  • Pérdida de datos RDD
  • Errores de trabajo

Puede habilitar la retirada para solucionar estos problemas. La retirada aprovecha la notificación que normalmente envía el proveedor de nube antes de retirar una instancia de acceso puntual. Cuando una instancia de acceso puntual que contiene un ejecutor recibe una notificación de interrupción, el proceso de retirada intentará migrar los datos aleatorios y RDD a ejecutores en buen estado. La duración antes de la preferencia final suele ser de entre 30 segundos y 2 minutos en función del proveedor de nube.

Databricks recomienda habilitar la migración de datos cuando la retirada también está habilitada. Por lo general, la posibilidad de errores disminuye a medida que se migran más datos, incluidos los errores de captura aleatoria, la pérdida de datos aleatorios y la pérdida de datos RDD. La migración de datos también puede provocar que no se repitan cálculos y que se ahorren costes.

Nota

La retirada es el mejor esfuerzo y no garantiza que todos los datos se puedan migrar antes de la preferencia final. La retirada no es una garantía frente a los errores de captura aleatoria cuando las tareas en ejecución de flujo capturan datos aleatorios del ejecutor.

Con la retirada habilitada, los errores de tareas causados por la preferencia de la instancia de acceso puntual no se agregan al número total de intentos con error. Los errores de tarea causados por la preferencia no se cuentan como intentos con error debido a que su causa es externa a la tarea y generará un error en el trabajo.

Habilitar el desmantelamiento

Para habilitar la retirada en un proceso, escriba las siguientes propiedades en la pestaña Spark en Opciones avanzadas en la interfaz de usuario de configuración de proceso. Para obtener información sobre estas propiedades, consulte Configuración de Spark.

  • Para habilitar el desmantelamiento de aplicaciones, introduzca esta propiedad en el campo Configurar Spark:

    spark.decommission.enabled true
    
  • Para habilitar la migración aleatoria de datos durante la retirada, introduzca esta propiedad en el campo Configuración de Spark:

    spark.storage.decommission.enabled true
    spark.storage.decommission.shuffleBlocks.enabled true
    
  • Para habilitar la migración de datos de caché RDD durante el desmantelamiento, introduzca esta propiedad en el campo Spark config:

    spark.storage.decommission.enabled true
    spark.storage.decommission.rddBlocks.enabled true
    

    Nota

    Cuando la réplica de StorageLevel de RDD establecida es superior a 1, Databricks no recomienda habilitar la migración de datos RDD, ya que las réplicas garantizan que los RDD no pierdan datos.

  • Para habilitar el desmantelamiento para los trabajadores, introduzca esta propiedad en el campo Variables de entorno:

    SPARK_WORKER_OPTS="-Dspark.decommission.enabled=true"
    

Ver el estado de desmantelamiento y el motivo de la pérdida en la interfaz de usuario

Para acceder al estado de desactivación de un trabajador desde la interfaz de usuario, vaya a la pestaña Spark compute UI - Master.

Cuando finalice la retirada, puede ver el motivo de pérdida del ejecutor en la pestaña Interfaz de usuario de Spark > Ejecutores en la página de detalles del proceso.