Clústeres de nodo único

Nota

En este artículo se describe la interfaz de usuario heredada de los clústeres. Para obtener más información sobre la interfaz de usuario de la versión preliminar, incluidos los cambios de terminología para los modos de acceso al clúster, consulte Creación de un clúster. Para ver una comparación entre los tipos de clúster nuevos y los heredados, consulte Cambios en la interfaz de usuario de los clústeres y modos de acceso del clúster.

Un clúster de nodo único es un clúster que consta de un controlador de Apache Spark y ningún nodo de trabajo de Spark. Un clúster de nodo único admite trabajos de Spark y todos los orígenes de datos de Spark, incluido Delta Lake. Un clúster estándar requiere un mínimo de un nodo de trabajo de Spark para ejecutar trabajos de Spark.

Los clústeres de nodo único son útiles para:

  • Cargas de trabajo de aprendizaje automático de nodo único que necesitan Spark para cargar y guardar datos.
  • Análisis de datos exploratorios ligeros.

Creación de un clúster de nodo único

Para crear un clúster de nodo único, establezca Cluster Mode (Modo de clúster) en Single Node (Nodo único) cuando configure un clúster.

Modo de clúster de un solo nodo

Propiedades de los clústeres de nodo único

Un clúster de nodo único tiene las siguientes propiedades:

  • Ejecuta Spark localmente.
  • El controlador actúa como nodo maestro y nodo de trabajo, sin nodos de trabajo.
  • Genera un subproceso de ejecutor por núcleo lógico en el clúster, menos un núcleo para el controlador.
  • Toda la salida de registro de stderr, stdout y log4j se guarda en el registro del controlador.
  • Un clúster de nodo único no se puede convertir en un clúster estándar. Para usar un clúster estándar, cree el clúster y conéctele su cuaderno.

Limitaciones

  • El procesamiento de datos a gran escala agotará los recursos de un clúster de nodo único. Para estas cargas de trabajo, Databricks recomienda usar un clúster de modo estándar.

  • Los clústeres de nodo único no están diseñados para compartirlos. Para evitar conflictos de recursos, Databricks recomienda usar un clúster de modo estándar cuando sea necesario compartir el clúster.

  • Un clúster de modo estándar no se puede reducir a cero nodos de trabajo. En su lugar, use un clúster de nodo único.

  • Los clústeres de nodo único no son compatibles con el aislamiento de procesos.

  • La programación de GPU no está habilitada en los clústeres de nodo único.

  • En los clústeres de nodo único, Spark no puede leer archivos de Parquet con una columna UDT. Aparece el siguiente mensaje de error:

    The Spark driver has stopped unexpectedly and is restarting. Your notebook will be automatically reattached.
    

    Para solucionar este problema, deshabilite el lector nativo de Parquet:

    spark.conf.set("spark.databricks.io.parquet.nativeReader.enabled", False)
    

API DE REST

Puede usar la API Clusters para crear un clúster de nodo único.

Directiva de clúster de nodo único

Las directivas de clúster simplifican la configuración de los clústeres de nodo único.

Imagine, por ejemplo, un equipo de ciencia de datos cuyos miembros no tienen permiso para crear clústeres. Un administrador puede crear una directiva de clúster que autorice a los miembros del equipo a crear un número máximo de clústeres de nodo único usando grupos y directivas de clúster:

  1. Cree un grupo:

    1. Establezca Max capacity (Capacidad máxima) en 10.
    2. En Autopilot options (Opciones de Autopilot), habilite Enable autoscaling local storage (Almacenamiento local con escalado automático).
    3. Establezca Instance type (Tipo de instancia) en Single Node cluster (Clúster de nodo único).
    4. Seleccione una versión de Azure Databricks. Databricks recomienda usar la versión más reciente si es posible.
    5. Haga clic en Crear.

    Aparece la página de propiedades del grupo. Anote el id. del grupo y el id. del tipo de instancia del grupo recién creado.

  2. Cree una directiva de clúster:

    • Establezca el id. del grupo y el id. del tipo de instancia de las propiedades del grupo.
    • Especifique las restricciones según sea necesario.
  3. Conceda la directiva de clúster a los miembros del equipo. Puede usar la información que se proporciona en Administración de usuarios, entidades de servicio y grupos para simplificar la administración de usuarios.

    {
      "spark_conf.spark.databricks.cluster.profile": {
        "type": "fixed",
        "value": "singleNode",
        "hidden": true
      },
      "instance_pool_id": {
        "type": "fixed",
        "value": "singleNodePoolId1",
        "hidden": true
      },
      "spark_version": {
        "type": "fixed",
        "value": "7.3.x-cpu-ml-scala2.12",
        "hidden": true
      },
      "autotermination_minutes": {
        "type": "fixed",
        "value": 120,
        "hidden": true
      },
      "num_workers": {
        "type": "fixed",
        "value": 0,
        "hidden": true
      },
      "docker_image.url": {
        "type": "forbidden",
        "hidden": true
      }
    }
    

Directiva de clúster de trabajos de nodo único

Para configurar una directiva de clúster para trabajos, puede definir una directiva de clúster similar. Establezca cluster_type.type en fixed y cluster_type.value en job. Quite todas las referencias a auto_termination_minutes.

{
  "cluster_type": {
    "type": "fixed",
    "value": "job"
  },
  "spark_conf.spark.databricks.cluster.profile": {
    "type": "fixed",
    "value": "singleNode",
    "hidden": true
  },
  "instance_pool_id": {
    "type": "fixed",
    "value": "singleNodePoolId1",
    "hidden": true
  },
  "num_workers": {
    "type": "fixed",
    "value": 0,
    "hidden": true
  },
  "spark_version": {
    "type": "fixed",
    "value": "7.3.x-cpu-ml-scala2.12",
    "hidden": true
  },
  "docker_image.url": {
    "type": "forbidden",
    "hidden": true
  }
}