Clusters API

Clusters API permite crear, iniciar, editar, enumerar, finalizar y eliminar clústeres. El tamaño máximo permitido de una solicitud a clusters API es de 10 MB.

Los métodos de ciclo de vida del clúster requieren un identificador de clúster, que se devuelve desde Crear. Para obtener una lista de clústeres, invoque List.

Azure Databricks asigna tipos de instancia de nodo de clúster a unidades de proceso conocidas como DBU. Consulte la página de precios del tipo de instancia para obtener una lista de los tipos de instancia admitidos y sus DBA correspondientes. Para obtener información sobre el proveedor de instancias, consulte Especificaciones de tipo de instancia de Azure y precios.

Azure Databricks siempre proporciona un aviso de desuso de un año antes de dejar de admitir un tipo de instancia.

Importante

Para acceder a las API REST de Databricks, es preciso autenticarse.

Crear

punto de conexión Método HTTP
2.0/clusters/create POST

Cree un nuevo Apache Spark clúster. Este método adquiere nuevas instancias del proveedor de nube si es necesario. Este método es asincrónico; el devuelto cluster_id se puede usar para sondear el estado del clúster. Cuando este método devuelve un resultado, el clúster se encuentra en un PENDING estado . El clúster es utilizable una vez que entra en un RUNNING estado. Consulte ClusterState.

Nota

Azure Databricks puede que no pueda adquirir algunos de los nodos solicitados, debido a limitaciones del proveedor de nube o problemas transitorios de red. Si no puede adquirir un número suficiente de nodos solicitados, la creación del clúster finalizará con un mensaje de error informativo.

Ejemplos

curl --netrc -X POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/create \
--data @create-cluster.json

create-cluster.json:

{
  "cluster_name": "my-cluster",
  "spark_version": "7.3.x-scala2.12",
  "node_type_id": "Standard_D3_v2",
  "spark_conf": {
    "spark.speculation": true
  },
  "num_workers": 25
}
{ "cluster_id": "1234-567890-undid123" }

Este es un ejemplo de un clúster de escalado automático. Este clúster comenzará con dos nodos, el mínimo.

curl --netrc -X POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/create \
--data @create-cluster.json

create-cluster.json:

{
  "cluster_name": "autoscaling-cluster",
  "spark_version": "7.3.x-scala2.12",
  "node_type_id": "Standard_D3_v2",
  "autoscale" : {
    "min_workers": 2,
    "max_workers": 50
  }
}
{ "cluster_id": "1234-567890-hared123" }

En este ejemplo se crea un clúster de nodo único. Para crear un clúster de nodo único:

  • Establezca spark_conf y en los valores custom_tags exactos del ejemplo.
  • Establezca num_workers en 0.
curl --netrc -X POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/create \
--data @create-cluster.json

create-cluster.json:

{
  "cluster_name": "single-node-cluster",
  "spark_version": "7.6.x-scala2.12",
  "node_type_id": "Standard_DS3_v2",
  "num_workers": 0,
  "spark_conf": {
    "spark.databricks.cluster.profile": "singleNode",
    "spark.master": "local[*]"
  },
  "custom_tags": {
    "ResourceClass": "SingleNode"
  }
}
{ "cluster_id": "1234-567890-pouch123" }

Para crear un trabajo o enviar una ejecución con un nuevo clúster mediante una directiva, establezca policy_id en el identificador de directiva:

curl --netrc -X POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/create \
--data @create-cluster.json

create-cluster.json:


{
    "num_workers": null,
    "autoscale": {
        "min_workers": 2,
        "max_workers": 8
    },
    "cluster_name": "my-cluster",
    "spark_version": "7.3.x-scala2.12",
    "spark_conf": {},
    "node_type_id": "Standard_D3_v2",
    "custom_tags": {},
    "spark_env_vars": {
        "PYSPARK_PYTHON": "/databricks/python3/bin/python3"
    },
    "autotermination_minutes": 120,
    "init_scripts": [],
    "policy_id": "C65B864F02000008"
}

Para crear un nuevo clúster, defina las propiedades del clúster en new_cluster :

curl --netrc -X POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/job/create \
--data @create-job.json

create-job.json:

{
  "run_name": "my spark task",
  "new_cluster": {
    "spark_version": "7.3.x-scala2.12",
    "node_type_id": "Standard_D3_v2",
    "num_workers": 10,
    "policy_id": "ABCD000000000000"
  },
  "libraries": [
    {
      "jar": "dbfs:/my-jar.jar"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2"
      }
    }
  ],
  "spark_jar_task": {
    "main_class_name": "com.databricks.ComputeModels"
  }
}

Estructura de solicitudes de la definición de clúster

Nombre del campo Tipo Descripción
num_workers o escalado automático INT32 O escalado automático Si num_workers, número de nodos de trabajo que debe tener este clúster. Un clúster tiene un controlador spark y num_workers ejecutores para un total de num_workers + 1 nodo de Spark.

Nota: Al leer las propiedades de un clúster, este campo refleja el número deseado de trabajadores en lugar del número real de trabajadores. Por ejemplo, si se cambia el tamaño de un clúster de 5 a 10 trabajadores, este campo se actualizará inmediatamente para reflejar el tamaño objetivo de 10 trabajadores, mientras que los trabajadores enumerados en aumentarán gradualmente de 5 a 10 a medida que se aprovisionen los nuevos executors nodos.

Si se escala automáticamente, los parámetros necesarios para escalar y reducir verticalmente los clústeres automáticamente en función de la carga.
cluster_name STRING Nombre del clúster solicitado por el usuario. Esto no tiene que ser único. Si no se especifica durante la creación, el nombre del clúster será una cadena vacía.
spark_version STRING Versión en tiempo de ejecución del clúster. Puede recuperar una lista de las versiones en tiempo de ejecución disponibles mediante la llamada API Versiones en tiempo de ejecución. Este campo es obligatorio.
spark_conf SparkConfPair Objeto que contiene un conjunto de pares clave-valor de configuración de Spark opcionales y especificados por el usuario. También puede pasar una cadena de opciones de JVM adicionales al controlador y a los ejecutores a través de
spark.driver.extraJavaOptions y spark.executor.extraJavaOptions respectivamente.

Confs de Spark de ejemplo:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} o
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING Este campo codifica, mediante un solo valor, los recursos disponibles para cada uno de los nodos de Spark de este clúster. Por ejemplo, los nodos de Spark se pueden aprovisionar y optimizar para cargas de trabajo de memoria o proceso intensivo. Una lista de tipos de nodo disponibles se puede recuperar mediante la llamada API List node types . Este campo es obligatorio.
driver_node_type_id STRING Tipo de nodo del controlador de Spark. Este campo es opcional; Si no se establece, el tipo de nodo del controlador se establecerá como el mismo valor que node_type_id se definió anteriormente.
custom_tags ClusterTag Objeto que contiene un conjunto de etiquetas para los recursos del clúster. Databricks etiqueta todos los recursos de clúster (como las máquinas virtuales) con estas etiquetas además de default_tags.

Nota:

Azure Databricks permite como máximo 43 etiquetas personalizadas.
cluster_log_conf ClusterLogConf Configuración para entregar registros de Spark a un destino de almacenamiento a largo plazo. Solo se puede especificar un destino para un clúster. Si se da el conf, los registros se entregarán al destino cada
5 mins. El destino de los registros de controlador es <destination>/<cluster-ID>/driver , mientras que el destino de los registros del ejecutor es <destination>/<cluster-ID>/executor .
init_scripts Matriz de InitScriptInfo Configuración para almacenar scripts init. Se puede especificar cualquier número de scripts. Los scripts se ejecutan secuencialmente en el orden proporcionado. Si cluster_log_conf se especifica , los registros de script de init se envían a
<destination>/<cluster-ID>/init_scripts.
docker_image DockerImage Imagen de Docker para un contenedor personalizado.
spark_env_vars SparkEnvPair Objeto que contiene un conjunto de pares clave-valor de variable de entorno opcionales especificados por el usuario. Los pares clave-valor del formulario (X,Y) se exportan tal y como están (es decir,
export X='Y') al iniciar el controlador y los trabajadores.

Para especificar un conjunto adicional de , se recomienda anexarlos a SPARK_DAEMON_JAVA_OPTS como se muestra en el ejemplo $SPARK_DAEMON_JAVA_OPTS siguiente. Esto garantiza que también se incluyan todas las variables de entorno administradas por Databricks predeterminadas.

Ejemplo de variables de entorno de Spark:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} o
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
autotermination_minutes INT32 Finaliza automáticamente el clúster después de que esté inactivo durante este tiempo en minutos. Si no se establece, este clúster no finalizará automáticamente. Si se especifica, el umbral debe estar entre 10 y 10 000 minutos. También puede establecer este valor en 0 para deshabilitar explícitamente la terminación automática.
driver_instance_pool_id STRING Identificador del grupo de instancias que se usará para los controladores. También debe especificar instance_pool_id. Consulte Api de grupos de instancias para obtener más información.
instance_pool_id STRING Identificador opcional del grupo de instancias que se usará para los nodos del clúster. Si driver_instance_pool_id está presente,
instance_pool_id solo se usa para nodos de trabajo. De lo contrario, se usa tanto para el controlador como para los nodos de trabajo. Consulte Api de grupos de instancias para obtener más información.
idempotency_token STRING Token opcional que se puede usar para garantizar la idempotencia de las solicitudes de creación del clúster. Si ya existe un clúster activo con el token proporcionado, la solicitud no creará un nuevo clúster, pero devolverá el identificador del clúster existente en su lugar. La existencia de un clúster con el mismo token no se comprueba con los clústeres terminados.

Si especifica el token de idempotencia, si se produce un error, puede volver a intentarlo hasta que la solicitud se realiza correctamente. Azure Databricks garantizará que se inicia exactamente un clúster con ese token de idempotencia.

Este token debe tener como máximo 64 caracteres.
apply_policy_default_values BOOL Si se deben usar los valores predeterminados de directiva para los atributos de clúster que faltan.
enable_local_disk_encryption BOOL Si el cifrado de discos conectados localmente al clúster está habilitado.
azure_attributes AzureAttributes Atributos relacionados con los clústeres que se ejecutan en Azure. Si no se especifica en la creación del clúster, se usa un conjunto de valores predeterminados.

Estructura de respuesta

Nombre del campo Tipo Descripción
cluster_id STRING Identificador canónico del clúster.

Editar

punto de conexión Método HTTP
2.0/clusters/edit POST

Edite la configuración de un clúster para que coincida con los atributos y el tamaño proporcionados.

Puede editar un clúster si está en un RUNNING estado TERMINATED o . Si edita un clúster mientras está en un estado, se reiniciará para RUNNING que los nuevos atributos puedan tener efecto. Si edita un clúster mientras se encuentra en un TERMINATED estado , seguirá siendo TERMINATED . La próxima vez que se inicia el uso de la clusters/start API, los nuevos atributos se harán efectivos. Un intento de editar un clúster en cualquier otro estado se rechazará con un INVALID_STATE código de error.

Los clústeres creados por el servicio Trabajos de Databricks no se pueden editar.

Ejemplo

curl --netrc -X POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/edit \
--data @edit-cluster.json

edit-cluster.json:

{
  "cluster_id": "1202-211320-brick1",
  "num_workers": 10,
  "spark_version": "7.3.x-scala2.12",
  "node_type_id": "Standard_D3_v2"
}
{}

Estructura de solicitudes

Nombre del campo Tipo Descripción
num_workers o escalado automático INT32 O escalado automático Si num_workers, número de nodos de trabajo que debe tener este clúster. Un clúster tiene un controlador spark y num_workers ejecutores para un total de num_workers + 1 nodo de Spark.

Nota: Al leer las propiedades de un clúster, este campo refleja el número deseado de trabajadores en lugar del número real de trabajadores. Por ejemplo, si se cambia el tamaño de un clúster de 5 a 10 trabajadores, este campo se actualizará inmediatamente para reflejar el tamaño objetivo de 10 trabajadores, mientras que los trabajadores enumerados en aumentarán gradualmente de 5 a 10 a medida que se aprovisionen los nuevos executors nodos.

Si se escala automáticamente, los parámetros necesarios para escalar y reducir verticalmente los clústeres automáticamente en función de la carga.
cluster_id STRING Identificador canónico del clúster. Este campo es obligatorio.
cluster_name STRING Nombre del clúster solicitado por el usuario. Esto no tiene que ser único. Si no se especifica durante la creación, el nombre del clúster será una cadena vacía.
spark_version STRING Versión en tiempo de ejecución del clúster. Puede recuperar una lista de las versiones en tiempo de ejecución disponibles mediante la llamada API versiones en tiempo de ejecución. Este campo es obligatorio.
spark_conf SparkConfPair Objeto que contiene un conjunto de pares clave-valor de configuración de Spark opcionales especificados por el usuario. También puede pasar una cadena de opciones adicionales de JVM al controlador y a los ejecutores a través de
spark.driver.extraJavaOptions y spark.executor.extraJavaOptions respectivamente.

Confs de Spark de ejemplo:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} o
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING Este campo codifica, mediante un solo valor, los recursos disponibles para cada uno de los nodos de Spark de este clúster. Por ejemplo, los nodos de Spark se pueden aprovisionar y optimizar para cargas de trabajo con uso intensivo de memoria o proceso. Se puede recuperar una lista de tipos de nodo disponibles mediante la llamada API List node types. Este campo es obligatorio.
driver_node_type_id STRING Tipo de nodo del controlador de Spark. Este campo es opcional; Si no se establece, el tipo de nodo del controlador se establecerá como el mismo valor que node_type_id se definió anteriormente.
cluster_log_conf ClusterLogConf Configuración para entregar registros de Spark a un destino de almacenamiento a largo plazo. Solo se puede especificar un destino para un clúster. Si se da el conf, los registros se entregarán al destino cada
5 mins. El destino de los registros de controlador es <destination>/<cluster-ID>/driver , mientras que el destino de los registros del ejecutor es <destination>/<cluster-ID>/executor .
init_scripts Matriz de InitScriptInfo Configuración para almacenar scripts init. Se puede especificar cualquier número de destinos. Los scripts se ejecutan secuencialmente en el orden proporcionado. Si cluster_log_conf se especifica , los registros de script de init se envían a
<destination>/<cluster-ID>/init_scripts.
docker_image DockerImage Imagen de Docker para un contenedor personalizado.
spark_env_vars SparkEnvPair Objeto que contiene un conjunto de pares clave-valor de variable de entorno opcionales especificados por el usuario. Los pares clave-valor del formulario (X,Y) se exportan tal y como están (es decir,
export X='Y') al iniciar el controlador y los trabajadores.

Para especificar un conjunto adicional de , se recomienda anexarlos SPARK_DAEMON_JAVA_OPTS a como se muestra en el ejemplo $SPARK_DAEMON_JAVA_OPTS siguiente. Esto garantiza que también se incluyan todas las variables de entorno administradas por Databricks predeterminadas.

Variables de entorno de Spark de ejemplo:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} o
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
autotermination_minutes INT32 Finaliza automáticamente el clúster después de que esté inactivo durante este tiempo en minutos. Si no se establece, este clúster no finalizará automáticamente. Si se especifica, el umbral debe estar entre 10 y 10 000 minutos. También puede establecer este valor en 0 para deshabilitar explícitamente la terminación automática.
instance_pool_id STRING Identificador opcional del grupo de instancias al que pertenece el clúster. Consulte Grupos para obtener más información.
apply_policy_default_values BOOL Si se deben usar los valores predeterminados de directiva para los atributos de clúster que faltan.
enable_local_disk_encryption BOOL Si el cifrado de discos conectados localmente al clúster está habilitado.
azure_attributes AzureAttributes Atributos relacionados con los clústeres que se ejecutan en Azure. Si no se especifica en la creación del clúster, se usa un conjunto de valores predeterminados.

Inicio

punto de conexión Método HTTP
2.0/clusters/start POST

Inicie un clúster terminado según su identificador. Esto es similar a createCluster , excepto:

  • Se conservan el identificador de clúster finalizado y los atributos.
  • El clúster comienza con el último tamaño de clúster especificado. Si el clúster finalizado es un clúster de escalado automático, el clúster comienza con el número mínimo de nodos.
  • Si el clúster está en RESTARTING el estado , se devuelve un 400 error.
  • No se puede iniciar un clúster iniciado para ejecutar un trabajo.

Ejemplo

curl --netrc -X POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/start \
--data '{ "cluster_id": "1234-567890-reef123" }'
{}

Estructura de solicitudes

Nombre del campo Tipo Descripción
cluster_id STRING Clúster que se va a iniciar. Este campo es obligatorio.

Reiniciar

punto de conexión Método HTTP
2.0/clusters/restart POST

Reinicie un clúster según su identificador. El clúster debe estar en el estado RUNNING.

Ejemplo

curl --netrc -X POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/restart \
--data '{ "cluster_id": "1234-567890-reef123" }'
{}

Estructura de solicitudes

Nombre del campo Tipo Descripción
cluster_id STRING Clúster que se va a iniciar. Este campo es obligatorio.

Cambio de tamaño

punto de conexión Método HTTP
2.0/clusters/resize POST

Cambie el tamaño de un clúster para que tenga un número deseado de trabajadores. El clúster debe estar en el estado RUNNING.

Ejemplo

curl --netrc -X POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/resize \
--data '{ "cluster_id": "1234-567890-reef123", "num_workers": 30 }'
{}

Estructura de solicitudes

Nombre del campo Tipo Descripción
num_workers o escalado automático INT32 O escalado automático Si num_workers, número de nodos de trabajo que debe tener este clúster. Un clúster tiene un controlador spark y num_workers ejecutores para un total de num_workers + 1 nodo de Spark.

Nota: Al leer las propiedades de un clúster, este campo refleja el número deseado de trabajadores en lugar del número real de trabajadores. Por ejemplo, si se cambia el tamaño de un clúster de 5 a 10 trabajadores, este campo se actualizará inmediatamente para reflejar el tamaño objetivo de 10 trabajadores, mientras que los trabajadores enumerados en aumentarán gradualmente de 5 a 10 a medida que se aprovisionen los nuevos executors nodos.

Si se escala automáticamente, los parámetros necesarios para escalar y reducir verticalmente los clústeres automáticamente en función de la carga.
cluster_id STRING Clúster al que se va a cambiar el tamaño. Este campo es obligatorio.

Eliminar (finalizar)

punto de conexión Método HTTP
2.0/clusters/delete POST

Finalice un clúster según su identificador. El clúster se quita de forma asincrónica. Una vez completada la terminación, el clúster estará en el TERMINATED estado . Si el clúster ya está en un TERMINATING estado o , no ocurrirá TERMINATED nada.

A menos que se anclar un clúster, 30 días después de finalizar el clúster, se elimina permanentemente.

Ejemplo

curl --netrc -X POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/delete \
--data '{ "cluster_id": "1234-567890-frays123" }'
{}

Estructura de solicitudes

Nombre del campo Tipo Descripción
cluster_id STRING Clúster que se va a finalizar. Este campo es obligatorio.

Eliminación permanente

punto de conexión Método HTTP
2.0/clusters/permanent-delete POST

Eliminar un clúster de forma permanente. Si el clúster se está ejecutando, se termina y sus recursos se quitan de forma asincrónica. Si el clúster finaliza, se quita inmediatamente.

No puede realizar ninguna acción, incluida la recuperación de los permisos del clúster, en un clúster eliminado permanentemente. Un clúster eliminado permanentemente ya no se devuelve en la lista de clústeres.

Ejemplo

curl --netrc -X POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/permanent-delete \
--data '{ "cluster_id": "1234-567890-frays123" }'
{}

Estructura de solicitudes

Nombre del campo Tipo Descripción
cluster_id STRING Clúster que se va a eliminar permanentemente. Este campo es obligatorio.

Obtener

punto de conexión Método HTTP
2.0/clusters/get GET

Recupere la información de un clúster según su identificador. Los clústeres se pueden describir mientras se ejecutan o hasta 30 días después de que finalicen.

Ejemplo

curl --netrc -X GET \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/get \
--data '{ "cluster_id": "1234-567890-reef123" }' \
| jq .
{
  "cluster_id": "1234-567890-reef123",
  "driver": {
    "node_id": "dced0ce388954c38abef081f54c18afd",
    "instance_id": "c69c0b119a2a499d8a2843c4d256136a",
    "start_timestamp": 1619718438896,
    "host_private_ip": "10.0.0.1",
    "private_ip": "10.0.0.2"
  },
  "spark_context_id": 5631707659504820000,
  "jdbc_port": 10000,
  "cluster_name": "my-cluster",
  "spark_version": "8.2.x-scala2.12",
  "node_type_id": "Standard_L4s",
  "driver_node_type_id": "Standard_L4s",
  "custom_tags": {
    "ResourceClass": "SingleNode"
  },
  "autotermination_minutes": 0,
  "enable_elastic_disk": true,
  "disk_spec": {},
  "cluster_source": "UI",
  "enable_local_disk_encryption": false,
  "azure_attributes": {
    "first_on_demand": 1,
    "availability": "ON_DEMAND_AZURE",
    "spot_bid_max_price": -1
  },
  "instance_source": {
    "node_type_id": "Standard_L4s"
  },
  "driver_instance_source": {
    "node_type_id": "Standard_L4s"
  },
  "state": "RUNNING",
  "state_message": "",
  "start_time": 1610745129764,
  "last_state_loss_time": 1619718513513,
  "num_workers": 0,
  "cluster_memory_mb": 32768,
  "cluster_cores": 4,
  "default_tags": {
    "Vendor": "Databricks",
    "Creator": "someone@example.com",
    "ClusterName": "my-cluster",
    "ClusterId": "1234-567890-reef123"
  },
  "creator_user_name": "someone@example.com",
  "pinned_by_user_name": "3401478490056118",
  "init_scripts_safe_mode": false
}

Estructura de solicitudes

Nombre del campo Tipo Descripción
cluster_id STRING Clúster sobre el que se va a recuperar información. Este campo es obligatorio.

Estructura de respuesta

Nombre del campo Tipo Descripción
num_workers o escalado automático INT32 O escalado automático Si num_workers, número de nodos de trabajo que debe tener este clúster. Un clúster tiene un controlador spark y num_workers ejecutores para un total de num_workers + 1 nodo de Spark.

Nota: Al leer las propiedades de un clúster, este campo refleja el número deseado de trabajadores en lugar del número real de trabajadores. Por ejemplo, si se cambia el tamaño de un clúster de 5 a 10 trabajadores, este campo se actualizará inmediatamente para reflejar el tamaño objetivo de 10 trabajadores, mientras que los trabajadores enumerados en aumentarán gradualmente de 5 a 10 a medida que se aprovisionen los nuevos executors nodos.

Si se escala automáticamente, los parámetros necesarios para escalar y reducir verticalmente los clústeres automáticamente en función de la carga.
cluster_id STRING Identificador canónico del clúster. Este identificador se conserva durante los reinicios y el cambio de tamaño del clúster, mientras que cada nuevo clúster tiene un identificador único global.
creator_user_name STRING Nombre de usuario del creador. El campo no se incluirá en la respuesta si el usuario ya se ha eliminado.
controlador SparkNode Nodo en el que reside el controlador de Spark. El nodo del controlador contiene el maestro de Spark y la aplicación de Databricks que administra las REPL de Spark por cuaderno.
Ejecutores Una matriz de SparkNode Nodos en los que residen los ejecutores de Spark.
spark_context_id INT64 Identificador de SparkContext canónico. Este valor cambia cuando se reinicia el controlador de Spark. El par (cluster_id, spark_context_id) es un identificador único global en todos los contextos de Spark.
jdbc_port INT32 Puerto en el que el servidor JDBC de Spark está escuchando en el nodo del controlador. Ningún servicio escuchará en este puerto en nodos ejecutores.
cluster_name STRING Nombre del clúster solicitado por el usuario. Esto no tiene que ser único. Si no se especifica durante la creación, el nombre del clúster será una cadena vacía.
spark_version STRING Versión en tiempo de ejecución del clúster. Puede recuperar una lista de las versiones en tiempo de ejecución disponibles mediante la llamada API versiones en tiempo de ejecución.
spark_conf SparkConfPair Objeto que contiene un conjunto de pares clave-valor de configuración de Spark opcionales especificados por el usuario. También puede pasar una cadena de opciones adicionales de JVM al controlador y a los ejecutores a través de
spark.driver.extraJavaOptions y spark.executor.extraJavaOptions respectivamente.

Confs de Spark de ejemplo:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} o
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING Este campo codifica, mediante un solo valor, los recursos disponibles para cada uno de los nodos de Spark de este clúster. Por ejemplo, los nodos de Spark se pueden aprovisionar y optimizar para cargas de trabajo con uso intensivo de memoria o proceso. Se puede recuperar una lista de tipos de nodo disponibles mediante la llamada API List node types. Este campo es obligatorio.
driver_node_type_id STRING Tipo de nodo del controlador de Spark. Este campo es opcional; Si no se establece, el tipo de nodo del controlador se establecerá como el mismo valor que node_type_id se definió anteriormente.
custom_tags ClusterTag Objeto que contiene un conjunto de etiquetas para los recursos del clúster. Databricks etiqueta todos los recursos del clúster con estas etiquetas además de default_tags.

Nota:

* Las etiquetas no se admiten en tipos de nodos heredados, como optimizados para proceso y optimizados para memoria.
* Databricks permite como máximo 45 etiquetas personalizadas
cluster_log_conf ClusterLogConf Configuración para entregar registros de Spark a un destino de almacenamiento a largo plazo. Solo se puede especificar un destino para un clúster. Si se da el conf, los registros se entregarán al destino cada
5 mins. El destino de los registros de controlador es <destination>/<cluster-ID>/driver , mientras que el destino de los registros del ejecutor es <destination>/<cluster-ID>/executor .
init_scripts Matriz de InitScriptInfo Configuración para almacenar scripts init. Se puede especificar cualquier número de destinos. Los scripts se ejecutan secuencialmente en el orden proporcionado. Si cluster_log_conf se especifica , los registros de script de init se envían a
<destination>/<cluster-ID>/init_scripts.
docker_image DockerImage Imagen de Docker para un contenedor personalizado.
spark_env_vars SparkEnvPair Objeto que contiene un conjunto de pares clave-valor de variable de entorno opcionales especificados por el usuario. Los pares clave-valor del formulario (X,Y) se exportan tal y como están (es decir,
export X='Y') al iniciar el controlador y los trabajadores.

Para especificar un conjunto adicional de , se recomienda anexarlos SPARK_DAEMON_JAVA_OPTS a como se muestra en el ejemplo $SPARK_DAEMON_JAVA_OPTS siguiente. Esto garantiza que también se incluyan todas las variables de entorno administradas por Databricks predeterminadas.

Variables de entorno de Spark de ejemplo:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} o
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
autotermination_minutes INT32 Finaliza automáticamente el clúster después de que esté inactivo durante este tiempo en minutos. Si no se establece, este clúster no finalizará automáticamente. Si se especifica, el umbral debe estar entre 10 y 10 000 minutos. También puede establecer este valor en 0 para deshabilitar explícitamente la terminación automática.
enable_elastic_disk BOOL Escalado automático de Storage local: cuando está habilitado, este clúster adquirirá dinámicamente espacio en disco adicional cuando sus trabajadores de Spark se queden sin espacio en disco. Consulte Escalado automático del almacenamiento local para obtener más información.
instance_pool_id STRING Identificador opcional del grupo de instancias al que pertenece el clúster. Consulte Grupos para obtener más información.
state ClusterState Estado del clúster.
state_message STRING Mensaje asociado a la transición de estado más reciente (por ejemplo, la razón por la que el clúster entró en TERMINATED el estado).
start_time INT64 Hora (en milisegundos de época) en la que se recibió la solicitud de creación del clúster (cuando el clúster entró en PENDING el estado).
terminated_time INT64 Hora (en milisegundos de época) en la que se finalizó el clúster, si procede.
last_state_loss_time INT64 Hora a la que el controlador del clúster perdió su estado por última vez (debido a un reinicio o a un error del controlador).
last_activity_time INT64 Hora (en milisegundos de época) en la que el clúster estaba activo por última vez. Un clúster está activo si hay al menos un comando que no ha finalizado en el clúster. Este campo está disponible después de que el clúster haya alcanzado el RUNNING estado. Las actualizaciones de este campo se realizan como intentos de mejor esfuerzo. Ciertas versiones de Spark no admiten la generación de informes de la actividad del clúster. Consulte Terminación automática para obtener más información.
cluster_memory_mb INT64 Cantidad total de memoria del clúster, en megabytes.
cluster_cores FLOAT Número de núcleos de CPU disponibles para este clúster. Esto puede ser fraccionrio, ya que determinados tipos de nodos están configurados para compartir núcleos entre nodos de Spark en la misma instancia.
default_tags ClusterTag Objeto que contiene un conjunto de etiquetas que Azure Databricks independientemente de cualquier custom_tags, incluidos:

* Proveedor: Databricks
* Creator:
* ClusterName: <nombre del clúster>
* ClusterId:
* Nombre: en clústeres de trabajo:

* RunName:
* JobId: Recursos usados por Databricks SQL:

* SqlEndpointId:
cluster_log_status LogSyncStatus Estado de entrega del registro de clúster.
termination_reason TerminationReason Información sobre por qué se finalizó el clúster. Este campo solo aparece cuando el clúster está en el TERMINATING estado TERMINATED o .

Anclar

Nota

Debe ser un administrador de Azure Databricks para invocar esta API.

punto de conexión Método HTTP
2.0/clusters/pin POST

Asegúrese de que se conserva una configuración de clúster de uso general incluso después de que un clúster haya finalizado durante más de 30 días. La anclación garantiza que list API siempre devuelva el clúster. Anclar un clúster que ya está anclado no tiene ningún efecto.

Ejemplo

curl --netrc -X POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/pin \
--data '{ "cluster_id": "1234-567890-reef123" }'
{}

Estructura de solicitudes

Nombre del campo Tipo Descripción
cluster_id STRING Clúster que se ancla. Este campo es obligatorio.

Desanclar

Nota

Debe ser un administrador de Azure Databricks para invocar esta API.

punto de conexión Método HTTP
2.0/clusters/unpin POST

Permite que el clúster se quite finalmente de la lista devuelta por List API. La desanclar un clúster que no está anclado no tiene ningún efecto.

Ejemplo

curl --netrc -X POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/unpin \
--data '{ "cluster_id": "1234-567890-reef123" }'
{}

Estructura de solicitudes

Nombre del campo Tipo Descripción
cluster_id STRING Clúster que se desanclar. Este campo es obligatorio.

Lista

punto de conexión Método HTTP
2.0/clusters/list GET

Devuelve información sobre todos los clústeres anclados, los clústeres activos, hasta 150 de los clústeres de uso completo terminados más recientemente en los últimos 30 días y hasta 30 de los clústeres de trabajos terminados más recientemente en los últimos 30 días. Por ejemplo, si hay 1 clúster anclado, 4 clústeres activos, 45 clústeres de uso completo finalizados en los últimos 30 días y 50 clústeres de trabajos terminados en los últimos 30 días, esta API devuelve el 1 clúster anclado, 4 clústeres activos, los 45 clústeres terminados de uso completo y los 30 clústeres de trabajos terminados más recientemente.

Ejemplo

curl --netrc -X GET \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/list \
| jq .
{
  "clusters": [
    {
      "cluster_id": "1234-567890-reef123",
      "driver": {
        "node_id": "dced0ce388954c38abef081f54c18afd",
        "instance_id": "c69c0b119a2a499d8a2843c4d256136a",
        "start_timestamp": 1619718438896,
        "host_private_ip": "10.0.0.1",
        "private_ip": "10.0.0.2"
      },
      "spark_context_id": 5631707659504820000,
      "jdbc_port": 10000,
      "cluster_name": "my-cluster",
      "spark_version": "8.2.x-scala2.12",
      "node_type_id": "Standard_L4s",
      "driver_node_type_id": "Standard_L4s",
      "custom_tags": {
        "ResourceClass": "SingleNode"
      },
      "autotermination_minutes": 0,
      "enable_elastic_disk": true,
      "disk_spec": {},
      "cluster_source": "UI",
      "enable_local_disk_encryption": false,
      "azure_attributes": {
        "first_on_demand": 1,
        "availability": "ON_DEMAND_AZURE",
        "spot_bid_max_price": -1
      },
      "instance_source": {
        "node_type_id": "Standard_L4s"
      },
      "driver_instance_source": {
        "node_type_id": "Standard_L4s"
      },
      "state": "RUNNING",
      "state_message": "",
      "start_time": 1610745129764,
      "last_state_loss_time": 1619718513513,
      "num_workers": 0,
      "cluster_memory_mb": 32768,
      "cluster_cores": 4,
      "default_tags": {
        "Vendor": "Databricks",
        "Creator": "someone@example.com",
        "ClusterName": "my-cluster",
        "ClusterId": "1234-567890-reef123"
      },
      "creator_user_name": "someone@example.com",
      "pinned_by_user_name": "3401478490056118",
      "init_scripts_safe_mode": false
    },
    ...
  ]
}

Estructura de respuesta

Nombre del campo Tipo Descripción
clusters Una matriz de ClusterInfo Lista de clústeres.

Enumeración de tipos de nodo

punto de conexión Método HTTP
2.0/clusters/list-node-types GET

Devuelve una lista de los tipos de nodo de Spark admitidos. Estos tipos de nodo se pueden usar para iniciar un clúster.

Ejemplo

curl --netrc -X GET \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/list-node-types \
| jq .
{
  "node_types": [
    {
      "node_type_id": "Standard_L80s_v2",
      "memory_mb": 655360,
      "num_cores": 80,
      "description": "Standard_L80s_v2",
      "instance_type_id": "Standard_L80s_v2",
      "is_deprecated": false,
      "category": "Storage Optimized",
      "support_ebs_volumes": true,
      "support_cluster_tags": true,
      "num_gpus": 0,
      "node_instance_type": {
        "instance_type_id": "Standard_L80s_v2",
        "local_disks": 1,
        "local_disk_size_gb": 800,
        "instance_family": "Standard LSv2 Family vCPUs",
        "local_nvme_disk_size_gb": 1788,
        "local_nvme_disks": 10,
        "swap_size": "10g"
      },
      "is_hidden": false,
      "support_port_forwarding": true,
      "display_order": 0,
      "is_io_cache_enabled": true,
      "node_info": {
        "available_core_quota": 350,
        "total_core_quota": 350
      }
    },
    ...
  ]
}

Estructura de respuesta

Nombre del campo Tipo Descripción
node_types Matriz de NodeType Lista de tipos de nodos de Spark disponibles.

Versiones en tiempo de ejecución

punto de conexión Método HTTP
2.0/clusters/spark-versions GET

Devuelve la lista de versiones en tiempo de ejecución disponibles. Estas versiones se pueden usar para iniciar un clúster.

Ejemplo

curl --netrc -X GET \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/spark-versions \
| jq .
{
  "versions": [
    {
      "key": "8.2.x-scala2.12",
      "name": "8.2 (includes Apache Spark 3.1.1, Scala 2.12)"
    },
    ...
  ]
}

Estructura de respuesta

Nombre del campo Tipo Descripción
versions Matriz de SparkVersion Todas las versiones en tiempo de ejecución disponibles.

Eventos

punto de conexión Método HTTP
2.0/clusters/events POST

Recuperar una lista de eventos sobre la actividad de un clúster. Puede recuperar eventos de clústeres activos (en ejecución, pendientes o reconfigurando) y clústeres terminados en un plazo de 30 días a partir de su última terminación. Esta API está paginada. Si hay más eventos que leer, la respuesta incluye todos los parámetros necesarios para solicitar la siguiente página de eventos.

Ejemplo:

curl --netrc -X POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/events \
--data @list-events.json \
| jq .

list-events.json:

{
  "cluster_id": "1234-567890-reef123",
  "start_time": 1617238800000,
  "end_time": 1619485200000,
  "order": "DESC",
  "offset": 5,
  "limit": 5,
  "event_type": "RUNNING"
}
{
  "events": [
    {
      "cluster_id": "1234-567890-reef123",
      "timestamp": 1619471498409,
      "type": "RUNNING",
      "details": {
        "current_num_workers": 2,
        "target_num_workers": 2
      }
    },
    ...
  ],
  "next_page": {
    "cluster_id": "1234-567890-reef123",
    "start_time": 1617238800000,
    "end_time": 1619485200000,
    "order": "DESC",
    "offset": 10,
    "limit": 5
  },
  "total_count": 25
}

Solicitud de ejemplo para recuperar la página siguiente de eventos:

curl --netrc -X POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/events \
--data @list-events.json \
| jq .

list-events.json:

{
  "cluster_id": "1234-567890-reef123",
  "start_time": 1617238800000,
  "end_time": 1619485200000,
  "order": "DESC",
  "offset": 10,
  "limit": 5,
  "event_type": "RUNNING"
}
{
  "events": [
    {
      "cluster_id": "1234-567890-reef123",
      "timestamp": 1618330776302,
      "type": "RUNNING",
      "details": {
        "current_num_workers": 2,
        "target_num_workers": 2
      }
    },
    ...
  ],
  "next_page": {
    "cluster_id": "1234-567890-reef123",
    "start_time": 1617238800000,
    "end_time": 1619485200000,
    "order": "DESC",
    "offset": 15,
    "limit": 5
  },
  "total_count": 25
}

Estructura de solicitudes

Recupere los eventos que pertenecen a un clúster específico.

Nombre del campo Tipo Descripción
cluster_id STRING Identificador del clúster sobre el que se recuperarán los eventos. Este campo es obligatorio.
start_time INT64 Hora de inicio en milisegundos de época. Si está vacío, devuelve eventos a partir del principio del tiempo.
end_time INT64 Hora de finalización en milisegundos de época. Si está vacío, devuelve eventos hasta la hora actual.
orden ListOrder Orden en el que se enumeran los eventos; o ASC DESC . Tiene como valor predeterminado DESC.
event_types Matriz de ClusterEventType Un conjunto opcional de tipos de eventos por los que filtrar. Si está vacío, se devuelven todos los tipos de eventos.
offset INT64 Desplazamiento en el conjunto de resultados. El valor predeterminado es 0 (sin desplazamiento). Cuando se especifica un desplazamiento y los resultados se solicitan en orden descendente, se requiere end_time campo.
limit INT64 Número máximo de eventos que se incluirán en una página de eventos. El valor predeterminado es 50 y el valor máximo permitido es 500.

Estructura de respuesta

Nombre del campo Tipo Descripción
events Matriz de ClusterEvent Esta lista de eventos de coincidencia.
next_page Estructura de solicitudes Parámetros necesarios para recuperar la siguiente página de eventos. Se omite si no hay más eventos que leer.
total_count INT64 Número total de eventos filtrados por el start_time, end_time y event_types.

Estructuras de datos

En esta sección:

Escalado automático

Intervalo que define el número mínimo y máximo de trabajadores del clúster.

Nombre del campo Tipo Descripción
min_workers INT32 Número mínimo de trabajadores a los que el clúster puede reducir verticalmente cuando se infrautiliza. También es el número inicial de trabajadores que tendrá el clúster después de su creación.
max_workers INT32 Número máximo de trabajadores a los que el clúster se puede escalar verticalmente cuando se sobrecarga. max_workers debe ser estrictamente mayor que min_workers.

ClusterInfo

Metadatos sobre un clúster.

Nombre del campo Tipo Descripción
num_workers o escalado automático INT32 O escalado automático Si num_workers, número de nodos de trabajo que debe tener este clúster. Un clúster tiene un controlador spark y num_workers ejecutores para un total de num_workers + 1 nodo de Spark.

Nota: Al leer las propiedades de un clúster, este campo refleja el número deseado de trabajadores en lugar del número real de trabajadores. Por ejemplo, si se cambia el tamaño de un clúster de 5 a 10 trabajadores, este campo se actualizará inmediatamente para reflejar el tamaño objetivo de 10 trabajadores, mientras que los trabajadores enumerados en aumentarán gradualmente de 5 a 10 a medida que se aprovisionen los nuevos executors nodos.

Si se escala automáticamente, los parámetros necesarios para escalar y reducir verticalmente los clústeres automáticamente en función de la carga.
cluster_id STRING Identificador canónico del clúster. Este identificador se conserva durante los reinicios y el cambio de tamaño del clúster, mientras que cada nuevo clúster tiene un identificador único global.
creator_user_name STRING Nombre de usuario del creador. El campo no se incluirá en la respuesta si el usuario ya se ha eliminado.
controlador SparkNode Nodo en el que reside el controlador de Spark. El nodo de controlador contiene el maestro de Spark y la aplicación Databricks que administra las REPL de Spark por cuaderno.
Ejecutores Matriz de SparkNode Nodos en los que residen los ejecutores de Spark.
spark_context_id INT64 Identificador de SparkContext canónico. Este valor cambia cuando se reinicia el controlador de Spark. El par (cluster_id, spark_context_id) es un identificador único global en todos los contextos de Spark.
jdbc_port INT32 Puerto en el que el servidor JDBC de Spark escucha en el nodo del controlador. Ningún servicio escuchará en este puerto en nodos ejecutores.
cluster_name STRING Nombre del clúster solicitado por el usuario. Esto no tiene que ser único. Si no se especifica durante la creación, el nombre del clúster será una cadena vacía.
spark_version STRING Versión en tiempo de ejecución del clúster. Puede recuperar una lista de las versiones en tiempo de ejecución disponibles mediante la llamada API Versiones en tiempo de ejecución.
spark_conf SparkConfPair Objeto que contiene un conjunto de pares clave-valor de configuración de Spark opcionales y especificados por el usuario. También puede pasar una cadena de opciones de JVM adicionales al controlador y a los ejecutores a través de
spark.driver.extraJavaOptions y spark.executor.extraJavaOptions respectivamente.

Confs de Spark de ejemplo:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} o
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING Este campo codifica, mediante un solo valor, los recursos disponibles para cada uno de los nodos de Spark de este clúster. Por ejemplo, los nodos de Spark se pueden aprovisionar y optimizar para cargas de trabajo intensivas de memoria o proceso. Se puede recuperar una lista de los tipos de nodo disponibles mediante la llamada API List node types.
driver_node_type_id STRING Tipo de nodo del controlador de Spark. Este campo es opcional; Si no se establece, el tipo de nodo del controlador se establecerá como el mismo valor que node_type_id se definió anteriormente.
cluster_log_conf ClusterLogConf Configuración para entregar registros de Spark a un destino de almacenamiento a largo plazo. Solo se puede especificar un destino para un clúster. Si se da el conf, los registros se entregarán al destino cada
5 mins. El destino de los registros de controlador es <destination>/<cluster-ID>/driver , mientras que el destino de los registros del ejecutor es <destination>/<cluster-ID>/executor .
init_scripts Matriz de InitScriptInfo Configuración para almacenar scripts init. Se puede especificar cualquier número de destinos. Los scripts se ejecutan secuencialmente en el orden proporcionado. Si cluster_log_conf se especifica , los registros de script de init se envían a
<destination>/<cluster-ID>/init_scripts.
docker_image DockerImage Imagen de Docker para un contenedor personalizado.
spark_env_vars SparkEnvPair Objeto que contiene un conjunto de pares clave-valor de variable de entorno opcionales especificados por el usuario. Los pares clave-valor del formulario (X,Y) se exportan tal y como están (es decir,
export X='Y') al iniciar el controlador y los trabajadores.

Para especificar un conjunto adicional de , se recomienda SPARK_DAEMON_JAVA_OPTS anexarlos a $SPARK_DAEMON_JAVA_OPTS como se muestra en el ejemplo siguiente. Esto garantiza que también se incluyan todas las variables de entorno administradas por Databricks predeterminadas.

Ejemplo de variables de entorno de Spark:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} o
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
autotermination_minutes INT32 Finaliza automáticamente el clúster después de que esté inactivo durante este tiempo en minutos. Si no se establece, este clúster no finalizará automáticamente. Si se especifica, el umbral debe estar entre 10 y 10 000 minutos. También puede establecer este valor en 0 para deshabilitar explícitamente la terminación automática.
enable_elastic_disk BOOL Escalado automático de Storage local: cuando se habilita, este clúster adquirirá dinámicamente espacio en disco adicional cuando sus trabajadores de Spark se estén quedando sin espacio en disco. Consulte Escalado automático del almacenamiento local para obtener más información.
instance_pool_id STRING Identificador opcional del grupo de instancias al que pertenece el clúster. Consulte Grupos para obtener más información.
state ClusterState Estado del clúster.
state_message STRING Mensaje asociado a la transición de estado más reciente (por ejemplo, la razón por la que el clúster entró en un TERMINATED estado).
start_time INT64 Hora (en milisegundos de época) en la que se recibió la solicitud de creación del clúster (cuando el clúster entró en PENDING un estado).
terminated_time INT64 Hora (en milisegundos de época) en la que se finalizó el clúster, si procede.
last_state_loss_time INT64 Hora a la que el controlador del clúster perdió su estado por última vez (debido a un reinicio o error del controlador).
last_activity_time INT64 Hora (en milisegundos de época) en la que el clúster estaba activo por última vez. Un clúster está activo si hay al menos un comando que no ha finalizado en el clúster. Este campo está disponible después de que el clúster haya alcanzado un RUNNING estado. Las actualizaciones de este campo se realizan como intentos de mejor esfuerzo. Algunas versiones de Spark no admiten la generación de informes de actividad del clúster. Consulte Terminación automática para obtener más información.
cluster_memory_mb INT64 Cantidad total de memoria del clúster, en megabytes.
cluster_cores FLOAT Número de núcleos de CPU disponibles para este clúster. Esto puede ser fraccionrio, ya que determinados tipos de nodos están configurados para compartir núcleos entre nodos de Spark en la misma instancia.
default_tags ClusterTag Objeto que contiene un conjunto de etiquetas que Azure Databricks independientemente de cualquier custom_tags, incluidos:

* Proveedor: Databricks
* Creator:
* ClusterName: <nombre del clúster>
* ClusterId:
* Nombre: en clústeres de trabajo:

* RunName:
* JobId: Recursos usados por Databricks SQL:

* SqlEndpointId:
cluster_log_status LogSyncStatus Estado de entrega del registro de clúster.
termination_reason TerminationReason Información sobre por qué se finalizó el clúster. Este campo solo aparece cuando el clúster está en un TERMINATING estado TERMINATED o .

ClusterEvent

Información de eventos de clúster.

Nombre del campo Tipo Descripción
cluster_id STRING Identificador canónico del clúster. Este campo es obligatorio.
timestamp INT64 Marca de tiempo en la que se produjo el evento, almacenada como el número de milisegundos desde la época de Unix. Asignado por el servicio de escala de tiempo.
tipo ClusterEventType El tipo de evento. Este campo es obligatorio.
detalles EventDetails Detalles del evento. Este campo es obligatorio.

ClusterEventType

Tipo de un evento de clúster.

Tipo de evento Descripción
Crear Indica que se está creando el clúster.
DID_NOT_EXPAND_DISK Indica que un disco tiene poco espacio, pero agregar discos lo colocaría por encima de la capacidad máxima.
EXPANDED_DISK Indica que un disco tenía poco espacio y que los discos se expandían.
FAILED_TO_EXPAND_DISK Indica que un disco tenía poco espacio y que no se podía expandir el espacio en disco.
INIT_SCRIPTS_STARTING Indica que se ha iniciado el script de init con ámbito de clúster.
INIT_SCRIPTS_FINISHED Indica que el script de init con ámbito de clúster ha finalizado.
Comenzando Indica que se está iniciando el clúster.
Reiniciar Indica que se está iniciando el clúster.
Terminación Indica que se está finalizando el clúster.
Editado Indica que el clúster se ha editado.
RUNNING Indica que el clúster ha terminado de crearse. Incluye el número de nodos del clúster y un motivo de error si no se pudieron adquirir algunos nodos.
Redimensionar Indica un cambio en el tamaño de destino del clúster (tamaño máximo o tamaño reducido).
UPSIZE_COMPLETED Indica que los nodos han terminado de agregarse al clúster. Incluye el número de nodos del clúster y un motivo de error si no se pudieron adquirir algunos nodos.
NODES_LOST Indica que algunos nodos se perdieron del clúster.
DRIVER_HEALTHY Indica que el controlador está en buen estado y que el clúster está listo para su uso.
DRIVER_UNAVAILABLE Indica que el controlador no está disponible.
SPARK_EXCEPTION Indica que se ha producido una excepción de Spark desde el controlador.
DRIVER_NOT_RESPONDING Indica que el controlador está en marcha pero no responde, probablemente debido a gc.
DBFS_DOWN Indica que el controlador está en marcha, pero DBFS está abajo.
METASTORE_DOWN Indica que el controlador está arriba, pero el metastore está abajo.
NODE_BLACKLISTED Indica que Spark no permite un nodo.
Fijado Indica que el clúster se ha anclado.
UNPINNED Indica que el clúster se desanclara.

EventDetails

Detalles sobre un evento de clúster.

Nombre del campo Tipo Descripción
current_num_workers INT32 Número de nodos del clúster.
target_num_workers INT32 Número de nodos de destino del clúster.
previous_attributes ClusterAttributes Atributos de clúster antes de editar un clúster.
attributes ClusterAttributes * Para los clústeres creados, los atributos del clúster.
* Para los clústeres editados, los nuevos atributos del clúster.
previous_cluster_size ClusterSize Tamaño del clúster antes de una edición o cambio de tamaño.
cluster_size ClusterSize Tamaño del clúster que se estableció en la creación o edición del clúster.
Causa ResizeCause La causa de un cambio en el tamaño de destino.
reason TerminationReason Un motivo de terminación:

* En un TERMINATED evento, el motivo de la terminación.
* En un RESIZE_COMPLETE evento, indica la razón por la que no se pudieron adquirir algunos nodos.
usuario STRING Usuario que provocó que se produjese el evento. (Vacío si lo ha hecho Azure Databricks).

ClusterAttributes

Conjunto común de atributos establecidos durante la creación del clúster. Estos atributos no se pueden cambiar durante la vigencia de un clúster.

Nombre del campo Tipo Descripción
cluster_name STRING Nombre del clúster solicitado por el usuario. Esto no tiene que ser único. Si no se especifica durante la creación, el nombre del clúster será una cadena vacía.
spark_version STRING La versión en tiempo de ejecución del clúster, por ejemplo , "5.0.x-scala2.11". Puede recuperar una lista de las versiones en tiempo de ejecución disponibles mediante la llamada API Versiones en tiempo de ejecución.
spark_conf SparkConfPair Objeto que contiene un conjunto de pares clave-valor de configuración de Spark opcionales y especificados por el usuario. También puede pasar una cadena de opciones de JVM adicionales al controlador y a los ejecutores a través de
spark.driver.extraJavaOptions y spark.executor.extraJavaOptions respectivamente.

Confs de Spark de ejemplo:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} o
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING Este campo codifica, mediante un solo valor, los recursos disponibles para cada uno de los nodos de Spark de este clúster. Por ejemplo, los nodos de Spark se pueden aprovisionar y optimizar para cargas de trabajo de memoria o proceso intensivo. Una lista de tipos de nodo disponibles se puede recuperar mediante la llamada API List node types .
driver_node_type_id STRING Tipo de nodo del controlador de Spark. Este campo es opcional; Si no se establece, el tipo de nodo del controlador se establecerá como el mismo valor que node_type_id se definió anteriormente.
ssh_public_keys Matriz de objetos STRING. Contenido de clave pública SSH que se agregará a cada nodo de Spark de este clúster. Las claves privadas correspondientes se pueden usar para iniciar sesión con el nombre de usuario ubuntu en el puerto 2200 . Se pueden especificar hasta 10 claves.
custom_tags ClusterTag Objeto que contiene un conjunto de etiquetas para los recursos del clúster. Databricks etiqueta todos los recursos de clúster con estas etiquetas además de default_tags.

Nota:

* Las etiquetas no se admiten en tipos de nodos heredados, como optimizados para proceso y optimizados para memoria.
* Databricks permite como máximo 45 etiquetas personalizadas
cluster_log_conf ClusterLogConf Configuración para entregar registros de Spark a un destino de almacenamiento a largo plazo. Solo se puede especificar un destino para un clúster. Si se da el conf, los registros se entregarán al destino cada
5 mins. El destino de los registros de controlador es <destination>/<cluster-ID>/driver , mientras que el destino de los registros del ejecutor es <destination>/<cluster-ID>/executor .
init_scripts Matriz de InitScriptInfo Configuración para almacenar scripts init. Se puede especificar cualquier número de destinos. Los scripts se ejecutan secuencialmente en el orden proporcionado. Si cluster_log_conf se especifica , los registros de script de init se envían a
<destination>/<cluster-ID>/init_scripts.
docker_image DockerImage Imagen de Docker para un contenedor personalizado.
spark_env_vars SparkEnvPair Objeto que contiene un conjunto de pares clave-valor de variable de entorno opcionales especificados por el usuario. Los pares clave-valor del formulario (X,Y) se exportan tal y como están (es decir,
export X='Y') al iniciar el controlador y los trabajadores.

Para especificar un conjunto adicional de , se recomienda anexarlos SPARK_DAEMON_JAVA_OPTS a como se muestra en el ejemplo $SPARK_DAEMON_JAVA_OPTS siguiente. Esto garantiza que también se incluyan todas las variables de entorno administradas por Databricks predeterminadas.

Variables de entorno de Spark de ejemplo:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} o
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
autotermination_minutes INT32 Finaliza automáticamente el clúster después de que esté inactivo durante este tiempo en minutos. Si no se establece, este clúster no finalizará automáticamente. Si se especifica, el umbral debe estar entre 10 y 10 000 minutos. También puede establecer este valor en 0 para deshabilitar explícitamente la terminación automática.
enable_elastic_disk BOOL Escalado automático de Storage local: cuando está habilitado, este clúster adquirirá dinámicamente espacio en disco adicional cuando sus trabajadores de Spark se queden sin espacio en disco. Consulte Escalado automático del almacenamiento local para obtener más información.
instance_pool_id STRING Identificador opcional del grupo de instancias al que pertenece el clúster. Consulte Grupos para obtener más información.
cluster_source ClusterSource Determina si un usuario creó el clúster a través de la interfaz de usuario, creada por el programador de trabajos de Databricks o a través de una solicitud de API.
policy_id STRING Identificador de directiva de clúster.
azure_attributes AzureAttributes Define atributos como el tipo de disponibilidad de instancia, la ubicación del nodo y el precio máximo de la oferta. Si no se especifica durante la creación del clúster, se usa un conjunto de valores predeterminados.

ClusterSize

Especificación del tamaño del clúster.

Nombre del campo Tipo Descripción
num_workers o escalado automático INT32 O escalado automático Si num_workers, número de nodos de trabajo que debe tener este clúster. Un clúster tiene un controlador spark y num_workers ejecutores para un total de num_workers + 1 nodo de Spark.

Al leer las propiedades de un clúster, este campo refleja el número deseado de trabajadores en lugar del número real de trabajadores. Por ejemplo, si se cambia el tamaño de un clúster de 5 a 10 trabajadores, este campo se actualiza para reflejar el tamaño objetivo de 10 trabajadores, mientras que los trabajadores enumerados en ejecutores aumentan gradualmente de 5 a 10 a medida que se aprovisionan los nuevos nodos.

Si se escala automáticamente, los parámetros necesarios para escalar y reducir verticalmente los clústeres automáticamente en función de la carga.

ListOrder

Enumeración de ordenación genérica para consultas basadas en listas.

Pedido de Descripción
DESC Orden descendente.
ASC Orden ascendente.

ResizeCause

Motivo por el que se ha cambiado el tamaño de un clúster.

Causa Descripción
ESCALADO AUTOMÁTICO Cambio de tamaño automático en función de la carga.
USER_REQUEST El usuario solicitó un nuevo tamaño.
AUTORECOVERY El monitor de recuperación automática ha cambiado el tamaño del clúster después de perder un nodo.

ClusterLogConf

Ruta de acceso al registro del clúster.

Nombre del campo Tipo Descripción
dbfs DbfsStorageInfo Ubicación de DBFS del registro de clúster. Se debe proporcionar el destino. Por ejemplo,
{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

InitScriptInfo

Ruta de acceso a un script init. Para obtener instrucciones sobre el uso de scripts de init con Databricks Container Services,consulte Uso de un script init.

Nota

El tipo de almacenamiento de archivos solo está disponible para los clústeres configurados mediante Databricks Container Services.

Nombre del campo Tipo Descripción
dbfs o archivo DbfsStorageInfo

FileStorageInfo
Ubicación DBFS del script de init. Se debe proporcionar el destino. Por ejemplo,
{ "dbfs" : { "destination" : "dbfs:/home/init_script" } }

Ubicación del archivo del script init. Se debe proporcionar el destino. Por ejemplo,
{ "file" : { "destination" : "file:/my/local/file.sh" } }

ClusterTag

Definición de etiqueta de clúster.

Tipo Descripción
STRING Clave de la etiqueta. La clave debe:

* Tener entre 1 y 512 caracteres
* No contiene ninguno de los caracteres <>%*&+?\\/
* No empiece por azure microsoft , o windows
STRING El valor de la etiqueta. La longitud del valor debe ser menor o igual que 256 caracteres UTF-8.

DbfsStorageInfo

Información de almacenamiento de DBFS.

Nombre del campo Tipo Descripción
destination STRING Destino de DBFS. Ejemplo: dbfs:/my/path

FileStorageInfo

Información de almacenamiento de archivos.

Nota

Este tipo de ubicación solo está disponible para los clústeres configurados mediante Databricks Container Services.

Nombre del campo Tipo Descripción
destination STRING Destino del archivo. Ejemplo: file:/my/file.sh

DockerImage

Información de conexión de la imagen de Docker.

Campo Tipo Descripción
url string Dirección URL de la imagen de Docker.
basic_auth DockerBasicAuth Información básica de autenticación para el repositorio de Docker.

DockerBasicAuth

Información de autenticación básica del repositorio de Docker.

Campo Descripción
username Nombre de usuario del repositorio de Docker.
password Contraseña del repositorio de Docker.

LogSyncStatus

Estado de entrega del registro.

Nombre del campo Tipo Descripción
last_attempted INT64 Marca de tiempo del último intento. Si se produce un error en el último intento, last_exception contiene la excepción en el último intento.
last_exception STRING La excepción producida en el último intento sería NULL (omitida en la respuesta) si no hay ninguna excepción en el último intento.

NodeType

Descripción de un tipo de nodo de Spark que incluye las dimensiones del nodo y el tipo de instancia en el que se hospedará.

Nombre del campo Tipo Descripción
node_type_id STRING Identificador único para este tipo de nodo. Este campo es obligatorio.
memory_mb INT32 Memoria (en MB) disponible para este tipo de nodo. Este campo es obligatorio.
num_cores FLOAT Número de núcleos de CPU disponibles para este tipo de nodo. Esto puede ser fraccionrio si el número de núcleos de una instancia de máquina no es divisible por el número de nodos de Spark en esa máquina. Este campo es obligatorio.
description STRING Descripción de cadena asociada a este tipo de nodo. Este campo es obligatorio.
instance_type_id STRING Identificador del tipo de hardware en el que se ejecuta este nodo. Este campo es obligatorio.
is_deprecated BOOL Si el tipo de nodo está en desuso. Los tipos de nodo no en desuso ofrecen un mayor rendimiento.
node_info ClusterCloudProviderNodeInfo Información de tipo de nodo notificada por el proveedor de nube.

ClusterCloudProviderNodeInfo

Información sobre una instancia proporcionada por un proveedor de nube.

Nombre del campo Tipo Descripción
status ClusterCloudProviderNodeStatus Estado notificado por el proveedor de nube.
available_core_quota INT32 Cuota de núcleo de CPU disponible.
total_core_quota INT32 Cuota total de núcleos de CPU.

ClusterCloudProviderNodeStatus

Estado de una instancia proporcionada por un proveedor de nube.

Situación Descripción
NotEnabledOnSubscription El tipo de nodo no está disponible para la suscripción.
NotAvailableInRegion El tipo de nodo no está disponible en la región.

ParameterPair

Parámetro que proporciona información adicional sobre por qué se finalizó un clúster.

Tipo Descripción
TerminationParameter Tipo de información de terminación.
STRING Información de terminación.

SparkConfPair

Pares clave-valor de configuración de Spark.

Tipo Descripción
STRING Nombre de propiedad de configuración.
STRING Valor de la propiedad de configuración.

SparkEnvPair

Pares clave-valor de variable de entorno de Spark.

Importante

Al especificar variables de entorno en un clúster de trabajos, los campos de esta estructura de datos aceptan solo caracteres latinos (juego de caracteres ASCII). El uso de caracteres no ASCII devolverá un error. Algunos ejemplos de caracteres no válidos y no ASCII son chino, kanjis japoneses y emojis.

Tipo Descripción
STRING Nombre de una variable de entorno.
STRING Valor de la variable de entorno.

SparkNode

Configuración del controlador o ejecutor de Spark.

Nombre del campo Tipo Descripción
private_ip STRING Dirección IP privada (normalmente una dirección 10.x.x.x) del nodo de Spark. Esto es diferente de la dirección IP privada de la instancia de host.
public_dns STRING Dirección DNS pública de este nodo. Esta dirección se puede usar para acceder al servidor JDBC de Spark en el nodo del controlador.
node_id STRING Identificador único global para este nodo.
instance_id STRING Identificador único global para la instancia de host del proveedor de nube.
start_timestamp INT64 Marca de tiempo (en milisegundos) cuando se inicia el nodo de Spark.
host_private_ip STRING Dirección IP privada de la instancia de host.

SparkVersion

Databricks Runtime versión del clúster.

Nombre del campo Tipo Descripción
key STRING Databricks Runtime clave de versión, por ejemplo 7.3.x-scala2.12 . Valor que se debe proporcionar como al spark_version crear un nuevo clúster. La versión exacta del tiempo de ejecución puede cambiar con el tiempo para una versión de "carácter comodín" (es decir, es una versión de "carácter comodín") con 7.3.x-scala2.12 correcciones de errores menores.
name STRING Un nombre descriptivo para la versión en tiempo de ejecución, por ejemplo, "Databricks Runtime 7.3 LTS".

TerminationReason

Motivo por el que se finalizó un clúster.

Nombre del campo Tipo Descripción
código Código de terminación Código de estado que indica por qué se finalizó un clúster.
tipo TerminationType Motivo que indica por qué se finalizó un clúster.
parámetros ParameterPair Objeto que contiene un conjunto de parámetros que proporcionan información sobre por qué se terminó un clúster.

PoolClusterTerminationCode

Código de estado que indica por qué el clúster finalizó debido a un error del grupo.

Código Descripción
INSTANCE_POOL_MAX_CAPACITY_FAILURE Se ha alcanzado la capacidad máxima del grupo.
INSTANCE_POOL_NOT_FOUND_FAILURE El grupo especificado por el clúster ya no está activo o no existe.

ClusterSource

Servicio que creó el clúster.

Servicio Descripción
UI Clúster creado a través de la interfaz de usuario.
JOB Clúster creado por el programador de trabajos de Databricks.
API Clúster creado mediante una llamada API.

ClusterState

Estado de un clúster. Las transiciones de estado permitidos son las siguientes:

  • PENDING -> RUNNING
  • PENDING -> TERMINATING
  • RUNNING -> RESIZING
  • RUNNING -> RESTARTING
  • RUNNING -> TERMINATING
  • RESTARTING -> RUNNING
  • RESTARTING -> TERMINATING
  • RESIZING -> RUNNING
  • RESIZING -> TERMINATING
  • TERMINATING -> TERMINATED
State Descripción
PENDING Indica que un clúster está en proceso de creación.
RUNNING Indica que un clúster se ha iniciado y está listo para su uso.
RESTARTING Indica que un clúster está en proceso de reinicio.
RESIZING Indica que un clúster está en proceso de agregar o quitar nodos.
TERMINATING Indica que un clúster está en proceso de destrucción.
TERMINATED Indica que un clúster se ha destruido correctamente.
ERROR Este estado ya no se usa. Se usó para indicar un clúster que no se pudo crear.
TERMINATING y TERMINATED se usan en su lugar.
UNKNOWN Indica que un clúster está en un estado desconocido. Un clúster nunca debe estar en este estado.

Código de terminación

Código de estado que indica por qué se finalizó el clúster.

Código Descripción
USER_REQUEST Un usuario finalizó el clúster directamente. Los parámetros deben incluir username un campo que indique el usuario específico que finalizó el clúster.
JOB_FINISHED Un trabajo inició el clúster y finalizó cuando se completó el trabajo.
Inactividad El clúster se finalizó porque estaba inactivo.
CLOUD_PROVIDER_SHUTDOWN El proveedor de nube finalizó la instancia que hospedaba el controlador de Spark.
COMMUNICATION_LOST Azure Databricks conexión a los servicios en la instancia del controlador. Por ejemplo, esto puede ocurrir cuando surgen problemas en la infraestructura de red en la nube o cuando la propia instancia se vuelve mal.
CLOUD_PROVIDER_LAUNCH_FAILURE Azure Databricks un error del proveedor de nube al solicitar instancias para iniciar clústeres.
SPARK_STARTUP_FAILURE No se pudo inicializar el clúster. Los posibles motivos pueden ser un error al crear el entorno para Spark o problemas al iniciar los procesos maestro y de trabajo de Spark.
INVALID_ARGUMENT No se puede iniciar el clúster porque el usuario especificó un argumento no válido. Por ejemplo, el usuario podría especificar una versión en tiempo de ejecución no válida para el clúster.
UNEXPECTED_LAUNCH_FAILURE Al iniciar este clúster, Azure Databricks completar los pasos de configuración críticos, finalizando el clúster.
INTERNAL_ERROR Azure Databricks un error inesperado que obligaba a finalizar el clúster en ejecución. Póngase en contacto Azure Databricks soporte técnico para obtener más información.
SPARK_ERROR No se pudo iniciar el controlador de Spark. Las posibles razones pueden incluir bibliotecas incompatibles y scripts de inicialización que dañaron el contenedor de Spark.
METASTORE_COMPONENT_UNHEALTHY No se pudo iniciar el clúster porque no se pudo alcanzar el metastore externo. Consulte Solución de problemas.
DBFS_COMPONENT_UNHEALTHY No se pudo iniciar el clúster porque no se pudo obtener acceso al sistema de archivos de Databricks (DBFS).
AZURE_RESOURCE_PROVIDER_THROTTLING Azure Databricks el límite de solicitudes del proveedor de recursos de Azure. En concreto, la tasa de solicitudes de API para el tipo de recurso específico (proceso, red, etc.) no puede superar el límite. El reintento puede ayudar a resolver el problema. Para obtener más información, vea https://docs.microsoft.com/azure/virtual-machines/troubleshooting/troubleshooting-throttling-errors .
AZURE_RESOURCE_MANAGER_THROTTLING Azure Databricks el Azure Resource Manager de solicitudes que impedirá que el SDK de Azure emita cualquier solicitud de lectura o escritura a la Azure Resource Manager. El límite de solicitudes se aplica a cada suscripción cada hora. Reintentar después de una hora o cambiar a un tamaño de clúster más pequeño puede ayudar a resolver el problema. Para obtener más información, vea https://docs.microsoft.com/azure/azure-resource-manager/resource-manager-request-limits .
NETWORK_CONFIGURATION_FAILURE El clúster se finalizó debido a un error en la configuración de red. Por ejemplo, un área de trabajo con inserción de red virtual tenía una configuración de DNS incorrecta que bloqueaba el acceso a los artefactos de trabajo.
DRIVER_UNREACHABLE Azure Databricks no pudo acceder al controlador spark porque no era accesible.
DRIVER_UNRESPONSIVE Azure Databricks no pudo acceder al controlador spark porque no responde.
INSTANCE_UNREACHABLE Azure Databricks no pudo acceder a las instancias para iniciar el clúster. Esto puede ser un problema transitorio de red. Si el problema persiste, esto suele indicar un error de configuración del entorno de red.
CONTAINER_LAUNCH_FAILURE Azure Databricks no pudo iniciar contenedores en nodos de trabajo para el clúster. Hacer que el administrador compruebe la configuración de red.
INSTANCE_POOL_CLUSTER_FAILURE Error específico del clúster con copia de seguridad del grupo. Consulte Grupos para obtener más información.
REQUEST_REJECTED Azure Databricks puede controlar la solicitud en este momento. Inténtelo de nuevo más tarde Azure Databricks contacto si el problema persiste.
INIT_SCRIPT_FAILURE Azure Databricks puede cargar y ejecutar un script de init con ámbito de clúster en uno de los nodos del clúster, o el script init finaliza con un código de salida distinto de cero. Consulte Init script logs (Registros de script de init).
TRIAL_EXPIRED La suscripción Azure Databricks de prueba ha expirado.

TerminationType

Motivo por el que se finalizó el clúster.

Tipo Descripción
CORRECTA Terminación correcta.
CLIENT_ERROR No recuperable. El cliente debe corregir los parámetros antes de volver a asociar la creación del clúster.
SERVICE_FAULT Azure Databricks problema de servicio. El cliente puede reintentar.
CLOUD_FAILURE Problema de infraestructura del proveedor de nube. El cliente puede reintentar una vez resuelto el problema subyacente.

TerminationParameter

Clave que proporciona información adicional sobre por qué se finalizó un clúster.

Key Descripción
username Nombre de usuario del usuario que finalizó el clúster.
databricks_error_message Contexto adicional que puede explicar el motivo de la terminación del clúster.
inactivity_duration_min Un clúster inactivo se cerró después de estar inactivo durante esta duración.
instance_id Identificador de la instancia que hospedaba el controlador de Spark.
azure_error_code El código de error proporcionado por Azure describe por qué no se pudieron aprovisionar los nodos del clúster. Como referencia, vea: https://docs.microsoft.com/azure/virtual-machines/windows/error-messages .
azure_error_message Contexto legible de varios errores de Azure. Este campo no está estructurado y su formato exacto está sujeto a cambios.
instance_pool_id Identificador del grupo de instancias que usa el clúster.
instance_pool_error_code Código de error para errores de clúster específicos de un grupo.

AzureAttributes

Atributos establecidos durante la creación del clúster relacionados con Azure.

Nombre del campo Tipo Descripción
first_on_demand INT32 Los primeros first_on_demand nodos del clúster se colocarán en instancias a petición. Este valor debe ser mayor que 0 o, de lo contrario, se produce un error en la validación de la creación del clúster. Si este valor es mayor o igual que el tamaño actual del clúster, todos los nodos se colocarán en instancias a petición. Si este valor es menor que el tamaño actual del clúster, los nodos se colocarán en instancias a petición y el resto se colocará en first_on_demand instancias de disponibilidad. Este valor no afecta al tamaño del clúster y no se puede mutar durante la duración de un clúster.
availability AzureAvailability Tipo de disponibilidad usado para todos los nodos posteriores más first_on_demand allá de los siguientes.
spot_bid_max_price DOUBLE El precio máximo de la oferta que se usa para las instancias de Azure Spot. Puede establecerlo en mayor o igual que el precio de spot actual. También puede establecerlo en -1 (valor predeterminado), que especifica que la instancia no se puede expulsar en función del precio. El precio de la instancia será el precio actual de las instancias de spot o el precio de una instancia estándar. Puede ver los precios históricos y las tasas de expulsión en el Azure Portal.

AzureAvailability

Comportamiento del tipo de disponibilidad de la instancia de Azure.

Tipo Descripción
SPOT_AZURE Use instancias de spot.
ON_DEMAND_AZURE Use instancias a petición.
SPOT_WITH_FALLBACK_AZURE Es preferible usar instancias de spot, pero volver a las instancias a petición si no se pueden adquirir instancias de spot (por ejemplo, si los precios de spot de Azure son demasiado altos o están fuera de la cuota). No se aplica a la disponibilidad del grupo.