Cluster-API 2.0

Mit der Cluster-API können Sie Cluster erstellen, starten, bearbeiten, auflisten, beenden und löschen. Die maximal zulässige Größe einer Anforderung an die Cluster-API beträgt 10 MB.

Clusterlebenszyklusmethoden erfordern eine Cluster-ID, die von Erstellen zurückgegeben wird. Um eine Liste von Clustern zu erhalten, rufen Sie List auf.

Azure Databricks ordnet Clusterknoteninstanztypen Computeeinheiten zu, die als DBUs bezeichnet werden. Eine Liste der unterstützten Instanztypen und der entsprechenden DBUs finden Sie auf der Seite mit den Preisen für Instanztypen. Informationen zum Instanzanbieter finden Sie unter Azure-Instanztypspezifikationen und Preise.

Azure Databricks stellt immer eine Verwerfungsbenachrichtigung für ein Jahr zur Auswahl, bevor die Unterstützung ’ für einen Instanztyp abgeschrieben wird.

Wichtig

Für den Zugriff auf Databricks-REST-APIs müssen Sie sich authentifizieren.

Erstellen

Endpunkt HTTP-Methode
2.0/clusters/create POST

Erstellen Sie einen Apache Spark Cluster. Diese Methode erhält bei Bedarf neue Instanzen vom Cloudanbieter. Diese Methode ist asynchron. der cluster_id zurückgegebene kann verwendet werden, um den Clusterstatus ab umfragen. Wenn diese Methode zurückgegeben wird, befindet sich der Cluster in einem PENDING Zustand. Der Cluster kann verwendet werden, sobald er in einen Zustand RUNNING eintritt. Weitere Informationen finden Sie unter ClusterState.

Hinweis

Azure Databricks können einige der angeforderten Knoten aufgrund von Einschränkungen des Cloudanbieters oder vorübergehenden Netzwerkproblemen möglicherweise nicht erhalten. Wenn es nicht möglich ist, eine ausreichende Anzahl der angeforderten Knoten zu erhalten, wird die Clustererstellung mit einer informativen Fehlermeldung beendet.

Beispiele

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" }

Hier ist ein Beispiel für einen Cluster mit automatischer Skalierung. Dieser Cluster beginnt mit zwei Knoten, der Mindestanzahl.

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" }

In diesem Beispiel wird ein Cluster mit einem einzelnen Knoten erstellt. So erstellen Sie einen Cluster mit einem einzelnen Knoten:

  • Legen spark_conf Sie und auf die custom_tags genauen Werte im Beispiel fest.
  • Legen Sie num_workers auf 0 fest.
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" }

Legen Sie auf die Richtlinien-ID fest, um einen Auftrag zu erstellen oder eine Ausführung mit einem neuen Cluster mithilfe einer policy_id Richtlinie zu übermitteln:

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"
}

Um einen neuen Cluster zu erstellen, definieren Sie die ’ Clustereigenschaften in 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"
  }
}

Anforderungsstruktur der Clusterdefinition

Feldname type Beschreibung
num_workers ODER autoskalieren INT32 OR INT32 Wenn num_workers, die Anzahl der Workerknoten, über die dieser Cluster verfügen soll. Ein Cluster verfügt über einen Spark-Treiber und num_workers Executors für insgesamt num_workers + 1 Spark-Knoten.

Hinweis: Beim Lesen der Eigenschaften eines Clusters gibt dieses Feld die gewünschte Anzahl von Arbeitsmitarbeitern anstelle der tatsächlichen Anzahl von Arbeitsmitarbeitern an. Wenn z. B. die Größe eines Clusters von 5 auf 10 Workers geändert wird, wird dieses Feld sofort aktualisiert, um die Zielgröße von 10 Arbeitsmitarbeitern widerzu sobald die neuen Knoten bereitgestellt werden, während die in aufgeführten Workers schrittweise von 5 auf executors 10 erhöht werden.

Bei der automatischen Skalierung sind Parameter erforderlich, um Cluster basierend auf der Last automatisch hoch- und herunterzuskalieren.
cluster_name STRING Der vom Benutzer angeforderte Clustername. Dies ’ muss nicht eindeutig sein. Wenn der Clustername bei der Erstellung nicht angegeben wird, ist er eine leere Zeichenfolge.
spark_version STRING Die Runtimeversion des Clusters. Sie können eine Liste der verfügbaren Runtimeversionen mithilfe des API-Aufrufs Runtimeversionen abrufen. Dieses Feld ist erforderlich.
spark_conf SparkConfPair Ein -Objekt, das einen Satz optionaler, vom Benutzer angegebener Schlüssel-Wert-Paare für die Spark-Konfiguration enthält. Sie können auch eine Zeichenfolge mit zusätzlichen JVM-Optionen an den Treiber und die Executors übergeben.
spark.driver.extraJavaOptionsspark.executor.extraJavaOptionsbzw.

Spark-Beispiel-Confs:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} oder
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING Dieses Feld codiert mithilfe eines einzigen Werts die Ressourcen, die jedem der Spark-Knoten in diesem Cluster zur Verfügung stehen. Beispielsweise können die Spark-Knoten bereitgestellt und für arbeitsspeicher- oder rechenintensive Workloads optimiert werden. Eine Liste der verfügbaren Knotentypen kann mithilfe des API-Aufrufs Knotentypen auflisten abgerufen werden. Dieses Feld ist erforderlich.
driver_node_type_id STRING Der Knotentyp des Spark-Treibers. Dieses Feld ist optional. Wenn dies nicht festgelegt ist, wird der Treiberknotentyp auf den gleichen Wert wie node_type_id oben definiert festgelegt.
custom_tags ClusterTag Ein -Objekt, das einen Satz von Tags für Clusterressourcen enthält. Databricks markiert alle Clusterressourcen (z. B. VMs) zusätzlich zu den default_tags.

Hinweis:

Azure Databricks sind bis zu 43 benutzerdefinierte Tags möglich.
cluster_log_conf ClusterLogConf Die Konfiguration für die Bereitstellung von Spark-Protokollen an ein langfristiges Speicherziel. Für einen Cluster kann nur ein Ziel angegeben werden. Wenn die Conf angegeben wird, werden die Protokolle jedes Mal an das Ziel übermittelt.
5 mins. Das Ziel der Treiberprotokolle ist <destination>/<cluster-ID>/driver , während das Ziel von Executorprotokollen <destination>/<cluster-ID>/executor ist.
init_scripts Ein Array von InitScriptInfo Die Konfiguration zum Speichern von Init-Skripts. Eine beliebige Anzahl von Skripts kann angegeben werden. Die Skripts werden sequenziell in der angegebenen Reihenfolge ausgeführt. Wenn cluster_log_conf angegeben ist, werden Init-Skriptprotokolle an gesendet.
<destination>/<cluster-ID>/init_scripts.
docker_image DockerImage Docker-Image für einen benutzerdefinierten Container.
spark_env_vars SparkEnvPair Ein Objekt, das einen Satz optionaler, vom Benutzer angegebener Schlüssel-Wert-Paare von Umgebungsvariablen enthält. Schlüssel-Wert-Paare des Formulars (X,Y) werden wie beträgt exportiert (d. h.
export X='Y') beim Starten des Treibers und der Arbeitsmitarbeiter.

Um einen zusätzlichen Satz von anzugeben, wird empfohlen, sie wie im folgenden Beispiel gezeigt SPARK_DAEMON_JAVA_OPTS$SPARK_DAEMON_JAVA_OPTS an anfügen. Dadurch wird sichergestellt, dass auch alle verwalteten Databricks-Standard-Umgebungsvariablen enthalten sind.

Beispiele für Spark-Umgebungsvariablen:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} oder
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
autotermination_minutes INT32 Beendet den Cluster automatisch, nachdem er für diese Zeit in Minuten inaktiv ist. Wenn nicht festgelegt, wird dieser Cluster nicht automatisch beendet. Wenn angegeben, muss der Schwellenwert zwischen 10 und 10.000 Minuten liegen. Sie können diesen Wert auch auf 0 festlegen, um die automatische Beendigung explizit zu deaktivieren.
driver_instance_pool_id STRING Die ID des Instanzpools, der für Treiber verwendet werden soll. Darüber hinaus müssen Sie instance_pool_id angeben. Weitere Informationen finden Sie unter Instanzpool-API 2.0.
instance_pool_id STRING Die optionale ID des Instanzpools, der für Clusterknoten verwendet werden soll. Wenn driver_instance_pool_id vorhanden ist,
instance_pool_id wird nur für Workerknoten verwendet. Andernfalls wird es sowohl für den Treiber als auch für die Workerknoten verwendet. Weitere Informationen finden Sie unter Instanzpool-API 2.0.
idempotency_token STRING Ein optionales Token, das verwendet werden kann, um die Idempotenz von Clustererstellungsanforderungen zu gewährleisten. Wenn bereits ein aktiver Cluster mit dem bereitgestellten Token vorhanden ist, erstellt die Anforderung keinen neuen Cluster, sondern gibt stattdessen die ID des vorhandenen Clusters zurück. Das Vorhandensein eines Clusters mit demselben Token wird nicht für beendete Cluster überprüft.

Wenn Sie das Idempotenztoken angeben, können Sie bei einem Fehler den Vorgang wiederholen, bis die Anforderung erfolgreich ist. Azure Databricks garantiert, dass genau ein Cluster mit diesem Idempotenztoken gestartet wird.

Dieses Token sollte mindestens 64 Zeichen lang sein.
apply_policy_default_values BOOL Gibt an, ob Richtlinien-Standardwerte für fehlende Clusterattribute verwendet werden.
enable_local_disk_encryption BOOL Gibt an, ob die Verschlüsselung von Datenträgern, die lokal an den Cluster angefügt sind, aktiviert ist.
azure_attributes AzureAttributes Attribute im Zusammenhang mit Clustern, die in Azure ausgeführt werden. Wenn dies bei der Clustererstellung nicht angegeben wird, wird ein Satz von Standardwerten verwendet.

Antwortstruktur

Feldname type Beschreibung
cluster_id STRING Kanonischer Bezeichner für den Cluster.

Bearbeiten

Endpunkt HTTP-Methode
2.0/clusters/edit POST

Bearbeiten Sie die Konfiguration eines Clusters, um die bereitgestellten Attribute und die Größe zu verwenden.

Sie können einen Cluster bearbeiten, wenn er sich im Zustand RUNNING oder TERMINATED befindet. Wenn Sie einen Cluster bearbeiten, während er sich in einem Zustand befindet, wird er neu gestartet, damit die neuen RUNNING Attribute wirksam werden können. Wenn Sie einen Cluster bearbeiten, während er sich in einem Zustand TERMINATED befindet, bleibt er TERMINATED erhalten. Wenn sie das nächste Mal mit der API gestartet wird, werden die clusters/start neuen Attribute wirksam. Ein Versuch, einen Cluster in einem anderen Zustand zu bearbeiten, wird mit einem INVALID_STATE Fehlercode abgelehnt.

Vom Databricks-Aufträge-Dienst erstellte Cluster können nicht bearbeitet werden.

Beispiel

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"
}
{}

Anforderungsstruktur

Feldname type Beschreibung
num_workers ODER autoskalieren INT32 OR INT32 Wenn num_workers, die Anzahl der Workerknoten, über die dieser Cluster verfügen soll. Ein Cluster verfügt über einen Spark-Treiber und num_workers Executors für insgesamt num_workers + 1 Spark-Knoten.

Hinweis: Beim Lesen der Eigenschaften eines Clusters gibt dieses Feld die gewünschte Anzahl von Arbeitsmitarbeitern anstelle der tatsächlichen Anzahl von Arbeitsmitarbeitern an. Wenn z. B. die Größe eines Clusters von 5 auf 10 Workers geändert wird, wird dieses Feld sofort aktualisiert, um die Zielgröße von 10 Arbeitsmitarbeitern widerzu sobald die neuen Knoten bereitgestellt werden, während die in aufgeführten Workers schrittweise von 5 auf executors 10 erhöht werden.

Bei der automatischen Skalierung sind Parameter erforderlich, um Cluster basierend auf der Last automatisch hoch- und herunterzuskalieren.
cluster_id STRING Kanonischer Bezeichner für den Cluster. Dieses Feld ist erforderlich.
cluster_name STRING Der vom Benutzer angeforderte Clustername. Dies ’ muss nicht eindeutig sein. Wenn der Clustername bei der Erstellung nicht angegeben wird, ist er eine leere Zeichenfolge.
spark_version STRING Die Runtimeversion des Clusters. Sie können eine Liste der verfügbaren Runtimeversionen mithilfe des API-Aufrufs Runtimeversionen abrufen. Dieses Feld ist erforderlich.
spark_conf SparkConfPair Ein -Objekt, das einen Satz optionaler, vom Benutzer angegebener Schlüssel-Wert-Paare für die Spark-Konfiguration enthält. Sie können auch eine Zeichenfolge mit zusätzlichen JVM-Optionen an den Treiber und die Executors übergeben.
spark.driver.extraJavaOptionsspark.executor.extraJavaOptionsbzw.

Spark-Beispiel-Confs:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} oder
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING Dieses Feld codiert mithilfe eines einzigen Werts die Ressourcen, die jedem der Spark-Knoten in diesem Cluster zur Verfügung stehen. Beispielsweise können die Spark-Knoten bereitgestellt und für arbeitsspeicher- oder rechenintensive Workloads optimiert werden. Eine Liste der verfügbaren Knotentypen kann mithilfe des API-Aufrufs Knotentypen auflisten abgerufen werden. Dieses Feld ist erforderlich.
driver_node_type_id STRING Der Knotentyp des Spark-Treibers. Dieses Feld ist optional. Wenn dies nicht festgelegt ist, wird der Treiberknotentyp auf den gleichen Wert wie node_type_id oben definiert festgelegt.
cluster_log_conf ClusterLogConf Die Konfiguration für die Bereitstellung von Spark-Protokollen an ein langfristiges Speicherziel. Für einen Cluster kann nur ein Ziel angegeben werden. Wenn die Conf angegeben wird, werden die Protokolle jedes Mal an das Ziel übermittelt.
5 mins. Das Ziel der Treiberprotokolle ist <destination>/<cluster-ID>/driver , während das Ziel von Executorprotokollen <destination>/<cluster-ID>/executor ist.
init_scripts Ein Array von InitScriptInfo Die Konfiguration zum Speichern von Init-Skripts. Eine beliebige Anzahl von Zielen kann angegeben werden. Die Skripts werden sequenziell in der angegebenen Reihenfolge ausgeführt. Wenn cluster_log_conf angegeben ist, werden Init-Skriptprotokolle an gesendet.
<destination>/<cluster-ID>/init_scripts.
docker_image DockerImage Docker-Image für einen benutzerdefinierten Container.
spark_env_vars SparkEnvPair Ein Objekt, das einen Satz optionaler, vom Benutzer angegebener Schlüssel-Wert-Paare von Umgebungsvariablen enthält. Schlüssel-Wert-Paare des Formulars (X,Y) werden wie beträgt exportiert (d. h.
export X='Y') beim Starten des Treibers und der Arbeitsmitarbeiter.

Um einen zusätzlichen Satz von anzugeben, wird empfohlen, sie wie im folgenden Beispiel gezeigt SPARK_DAEMON_JAVA_OPTS$SPARK_DAEMON_JAVA_OPTS an anfügen. Dadurch wird sichergestellt, dass auch alle verwalteten Databricks-Standard-Umgebungsvariablen enthalten sind.

Beispiele für Spark-Umgebungsvariablen:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} oder
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
autotermination_minutes INT32 Beendet den Cluster automatisch, nachdem er für diese Zeit in Minuten inaktiv ist. Wenn nicht festgelegt, wird dieser Cluster nicht automatisch beendet. Wenn angegeben, muss der Schwellenwert zwischen 10 und 10.000 Minuten liegen. Sie können diesen Wert auch auf 0 festlegen, um die automatische Beendigung explizit zu deaktivieren.
instance_pool_id STRING Die optionale ID des Instanzpools, zu dem der Cluster gehört. Weitere Informationen finden Sie unter Pools.
apply_policy_default_values BOOL Gibt an, ob Richtlinien-Standardwerte für fehlende Clusterattribute verwendet werden.
enable_local_disk_encryption BOOL Gibt an, ob die Verschlüsselung von Datenträgern, die lokal an den Cluster angefügt sind, aktiviert ist.
azure_attributes AzureAttributes Attribute im Zusammenhang mit Clustern, die in Azure ausgeführt werden. Wenn dies bei der Clustererstellung nicht angegeben wird, wird ein Satz von Standardwerten verwendet.

Start

Endpunkt HTTP-Methode
2.0/clusters/start POST

Starten Sie einen beendeten Cluster mit seiner ID. Dies ähnelt , mit Ausnahme createCluster von:

  • Die ID des beendeten Clusters und die Attribute werden beibehalten.
  • Der Cluster beginnt mit der zuletzt angegebenen Clustergröße. Wenn der beendete Cluster ein Cluster mit automatischer Skalierung ist, beginnt der Cluster mit der Mindestanzahl von Knoten.
  • Wenn sich der Cluster im Zustand RESTARTING befindet, wird 400 ein Fehler zurückgegeben.
  • Sie können einen gestarteten Cluster nicht starten, um einen Auftrag ausführen zu können.

Beispiel

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

Anforderungsstruktur

Feldname type Beschreibung
cluster_id STRING Der zu startde Cluster. Dieses Feld ist erforderlich.

Neu starten

Endpunkt HTTP-Methode
2.0/clusters/restart POST

Starten Sie einen Cluster mit seiner ID neu. Der Cluster muss sich im Status RUNNING befinden.

Beispiel

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

Anforderungsstruktur

Feldname type Beschreibung
cluster_id STRING Der zu startde Cluster. Dieses Feld ist erforderlich.

Größe

Endpunkt HTTP-Methode
2.0/clusters/resize POST

Ändern Sie die Größe eines Clusters so, dass er über eine gewünschte Anzahl von Arbeitsmitarbeitern verfügen soll. Der Cluster muss sich im Status RUNNING befinden.

Beispiel

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

Anforderungsstruktur

Feldname type Beschreibung
num_workers ODER autoskalieren INT32 OR INT32 Wenn num_workers, die Anzahl der Workerknoten, über die dieser Cluster verfügen soll. Ein Cluster verfügt über einen Spark-Treiber und num_workers Executors für insgesamt num_workers + 1 Spark-Knoten.

Hinweis: Beim Lesen der Eigenschaften eines Clusters gibt dieses Feld die gewünschte Anzahl von Arbeitsmitarbeitern anstelle der tatsächlichen Anzahl von Arbeitsmitarbeitern an. Wenn z. B. die Größe eines Clusters von 5 auf 10 Workers geändert wird, wird dieses Feld sofort aktualisiert, um die Zielgröße von 10 Arbeitsmitarbeitern widerzu sobald die neuen Knoten bereitgestellt werden, während die in aufgeführten Workers schrittweise von 5 auf executors 10 erhöht werden.

Bei der automatischen Skalierung sind Parameter erforderlich, um Cluster basierend auf der Last automatisch hoch- und herunterzuskalieren.
cluster_id STRING Der Cluster, der geändert werden soll. Dieses Feld ist erforderlich.

Löschen (beenden)

Endpunkt HTTP-Methode
2.0/clusters/delete POST

Beenden Sie einen Cluster mit seiner ID. Der Cluster wird asynchron entfernt. Nachdem die Beendigung abgeschlossen ist, hat der Cluster den TERMINATED Status . Wenn sich der Cluster bereits im Zustand TERMINATING oder TERMINATED befindet, geschieht nichts.

Sofern kein Cluster angeheftet ist, wird er 30 Tage nach dem Beenden des Clusters endgültig gelöscht.

Beispiel

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

Anforderungsstruktur

Feldname type Beschreibung
cluster_id STRING Der Cluster, der beendet werden soll. Dieses Feld ist erforderlich.

Dauerhaftes Löschen

Endpunkt HTTP-Methode
2.0/clusters/permanent-delete POST

Dauerhaftes Löschen eines Clusters. Wenn der Cluster ausgeführt wird, wird er beendet, und seine Ressourcen werden asynchron entfernt. Wenn der Cluster beendet wird, wird er sofort entfernt.

Sie können keine Aktion füreinen dauerhaft gelöschten Cluster ausführen, einschließlich des Abrufens der Clusterberechtigungen. Ein dauerhaft gelöschter Cluster wird auch nicht mehr in der Clusterliste zurückgegeben.

Beispiel

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

Anforderungsstruktur

Feldname type Beschreibung
cluster_id STRING Der Cluster, der dauerhaft gelöscht werden soll. Dieses Feld ist erforderlich.

Erhalten

Endpunkt HTTP-Methode
2.0/clusters/get GET

Rufen Sie die Informationen für einen Cluster mit seinem Bezeichner ab. Cluster können während der Ausführung oder bis zu 30 Tage nach dem Beenden beschrieben werden.

Beispiel

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
}

Anforderungsstruktur

Feldname type Beschreibung
cluster_id STRING Der Cluster, über den Informationen abgerufen werden. Dieses Feld ist erforderlich.

Antwortstruktur

Feldname type Beschreibung
num_workers ODER autoskalieren INT32 OR INT32 Wenn num_workers, die Anzahl der Workerknoten, über die dieser Cluster verfügen soll. Ein Cluster verfügt über einen Spark-Treiber und num_workers Executors für insgesamt num_workers + 1 Spark-Knoten.

Hinweis: Beim Lesen der Eigenschaften eines Clusters gibt dieses Feld die gewünschte Anzahl von Arbeitsmitarbeitern anstelle der tatsächlichen Anzahl von Arbeitsmitarbeitern an. Wenn z. B. die Größe eines Clusters von 5 auf 10 Workers geändert wird, wird dieses Feld sofort aktualisiert, um die Zielgröße von 10 Arbeitsmitarbeitern widerzu sobald die neuen Knoten bereitgestellt werden, während die in aufgeführten Workers schrittweise von 5 auf executors 10 erhöht werden.

Bei der automatischen Skalierung sind Parameter erforderlich, um Cluster basierend auf der Last automatisch hoch- und herunterzuskalieren.
cluster_id STRING Kanonischer Bezeichner für den Cluster. Diese ID wird bei Neustarts und Größenvergrößerungen des Clusters beibehalten, während jeder neue Cluster über eine global eindeutige ID verfügt.
creator_user_name STRING Name des Erstellerbenutzers. Das Feld wird ’ nicht in die Antwort aufgenommen, wenn der Benutzer bereits gelöscht wurde.
Treiber SparkNode Knoten, auf dem sich der Spark-Treiber befindet. Der Treiberknoten enthält den Spark-Master und die Databricks-Anwendung, die die Spark-REPLs pro Notebook verwaltet.
Vollstrecker Ein Array von SparkNode Knoten, auf denen sich die Spark-Executors befinden.
spark_context_id INT64 Ein kanonischer SparkContext-Bezeichner. Dieser Wert ändert sich beim Neustart des Spark-Treibers. Das Paar (cluster_id, spark_context_id) ist ein global eindeutiger Bezeichner für alle Spark-Kontexte.
jdbc_port INT32 Port, an dem der Spark-JDBC-Server im Treiberknoten lauselt. Kein Dienst laussiert an diesem Port in Executorknoten.
cluster_name STRING Der vom Benutzer angeforderte Clustername. Dies ’ muss nicht eindeutig sein. Wenn der Clustername bei der Erstellung nicht angegeben wird, ist er eine leere Zeichenfolge.
spark_version STRING Die Runtimeversion des Clusters. Sie können eine Liste der verfügbaren Runtimeversionen mithilfe des API-Aufrufs Runtimeversionen abrufen.
spark_conf SparkConfPair Ein -Objekt, das einen Satz optionaler, vom Benutzer angegebener Schlüssel-Wert-Paare für die Spark-Konfiguration enthält. Sie können auch eine Zeichenfolge mit zusätzlichen JVM-Optionen an den Treiber und die Executors übergeben.
spark.driver.extraJavaOptionsspark.executor.extraJavaOptionsbzw.

Spark-Beispiel-Confs:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} oder
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING Dieses Feld codiert mithilfe eines einzigen Werts die Ressourcen, die jedem der Spark-Knoten in diesem Cluster zur Verfügung stehen. Beispielsweise können die Spark-Knoten bereitgestellt und für arbeitsspeicher- oder rechenintensive Workloads optimiert werden. Eine Liste der verfügbaren Knotentypen kann mithilfe des API-Aufrufs Knotentypen auflisten abgerufen werden. Dieses Feld ist erforderlich.
driver_node_type_id STRING Der Knotentyp des Spark-Treibers. Dieses Feld ist optional. Wenn dies nicht festgelegt ist, wird der Treiberknotentyp auf den gleichen Wert wie node_type_id oben definiert festgelegt.
custom_tags ClusterTag Ein -Objekt, das einen Satz von Tags für Clusterressourcen enthält. Databricks markiert alle Clusterressourcen mit diesen Tags zusätzlich default_tags.

Hinweis:

* Tags werden für ältere Knotentypen wie computeoptimiert und speicheroptimiert nicht unterstützt.
* Databricks lässt mindestens 45 benutzerdefinierte Tags zu.
cluster_log_conf ClusterLogConf Die Konfiguration für die Bereitstellung von Spark-Protokollen an ein langfristiges Speicherziel. Für einen Cluster kann nur ein Ziel angegeben werden. Wenn die Conf angegeben wird, werden die Protokolle jedes Mal an das Ziel übermittelt.
5 mins. Das Ziel der Treiberprotokolle ist <destination>/<cluster-ID>/driver , während das Ziel von Executorprotokollen <destination>/<cluster-ID>/executor ist.
init_scripts Ein Array von InitScriptInfo Die Konfiguration zum Speichern von Init-Skripts. Eine beliebige Anzahl von Zielen kann angegeben werden. Die Skripts werden sequenziell in der angegebenen Reihenfolge ausgeführt. Wenn cluster_log_conf angegeben ist, werden Init-Skriptprotokolle an gesendet.
<destination>/<cluster-ID>/init_scripts.
docker_image DockerImage Docker-Image für einen benutzerdefinierten Container.
spark_env_vars SparkEnvPair Ein Objekt, das einen Satz optionaler, vom Benutzer angegebener Schlüssel-Wert-Paare von Umgebungsvariablen enthält. Schlüssel-Wert-Paare des Formulars (X,Y) werden wie beträgt exportiert (d. h.
export X='Y') beim Starten des Treibers und der Arbeitsmitarbeiter.

Um einen zusätzlichen Satz von anzugeben, wird empfohlen, sie wie im folgenden Beispiel gezeigt SPARK_DAEMON_JAVA_OPTS$SPARK_DAEMON_JAVA_OPTS an anfügen. Dadurch wird sichergestellt, dass auch alle verwalteten Databricks-Standard-Umgebungsvariablen enthalten sind.

Beispiele für Spark-Umgebungsvariablen:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} oder
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
autotermination_minutes INT32 Beendet den Cluster automatisch, nachdem er für diese Zeit in Minuten inaktiv ist. Wenn nicht festgelegt, wird dieser Cluster nicht automatisch beendet. Wenn angegeben, muss der Schwellenwert zwischen 10 und 10.000 Minuten liegen. Sie können diesen Wert auch auf 0 festlegen, um die automatische Beendigung explizit zu deaktivieren.
enable_elastic_disk BOOL Automatisches Skalieren lokaler Storage: Wenn diese Option aktiviert ist, erhält dieser Cluster dynamisch zusätzlichen Speicherplatz, wenn für seine Spark-Workers nicht viel Speicherplatz verfügbar ist. Weitere Informationen finden Sie unter Automatisches Skalieren des lokalen Speichers.
instance_pool_id STRING Die optionale ID des Instanzpools, zu dem der Cluster gehört. Weitere Informationen finden Sie unter Pools.
state ClusterState Status des Clusters.
state_message STRING Eine Meldung, die dem letzten Zustandsübergang zugeordnet ist (z. B. der Grund, warum der Cluster in den Zustand TERMINATED übertrat).
start_time INT64 Die Zeit (in Millisekunden), zu der die Clustererstellungsanforderung empfangen wurde (als der Cluster in den Zustand PENDING übertrat).
terminated_time INT64 Die Zeit (in Millisekunden), zu der der Cluster beendet wurde (falls zutreffend).
last_state_loss_time INT64 Zeitpunkt, zu dem der Clustertreiber zuletzt seinen Zustand verloren hat (aufgrund eines Neustarts oder Treiberfehlers).
last_activity_time INT64 Die Zeit (in Millisekunden), zu der der Cluster zuletzt aktiv war. Ein Cluster ist aktiv, wenn mindestens ein Befehl im Cluster nicht abgeschlossen wurde. Dieses Feld ist verfügbar, nachdem der Cluster den Zustand erreicht RUNNING hat. Aktualisierungen dieses Felds werden als best-effort-Versuche vorgenommen. Bestimmte Versionen von Spark unterstützen keine Berichterstellung für Clusteraktivitäten. Weitere Informationen finden Sie unter Automatische Beendigung.
cluster_memory_mb INT64 Gesamtmenge des Clusterspeichers in Megabyte.
cluster_cores FLOAT Anzahl der für diesen Cluster verfügbaren CPU-Kerne. Dies kann ein Bruchteil sein, da bestimmte Knotentypen so konfiguriert sind, dass Kerne zwischen Spark-Knoten auf derselben Instanz gemeinsam verwendet werden.
default_tags ClusterTag Ein Objekt, das einen Satz von Tags enthält, die von Azure Databricks unabhängig von custom_tags hinzugefügt werden, einschließlich:

* Anbieter: Databricks
* Ersteller:
* ClusterName:
* ClusterId:
* Name: In Auftragsclustern:

* RunName:
* JobId: Für Ressourcen, die von Databricks verwendet werden SQL:

* SqlEndpointId:
cluster_log_status LogSyncStatus Clusterprotokoll-Übermittlungsstatus.
termination_reason TerminationReason Informationen dazu, warum der Cluster beendet wurde. Dieses Feld wird nur angezeigt, wenn sich der Cluster im Zustand TERMINATING oder TERMINATED befindet.

Pin

Hinweis

Sie müssen ein Azure Databricks sein, um diese API aufrufen zu können.

Endpunkt HTTP-Methode
2.0/clusters/pin POST

Stellen Sie sicher, dass eine Allzweckclusterkonfiguration auch dann beibehalten wird, wenn ein Cluster länger als 30 Tage beendet wurde. Durch anheften wird sichergestellt, dass der Cluster immer von der List-API zurückgegeben wird. Das Anheften eines Clusters, der bereits angeheftet ist, hat keine Auswirkungen.

Beispiel

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

Anforderungsstruktur

Feldname type Beschreibung
cluster_id STRING Der zu heftende Cluster. Dieses Feld ist erforderlich.

Unpin

Hinweis

Sie müssen ein Azure Databricks sein, um diese API aufrufen zu können.

Endpunkt HTTP-Methode
2.0/clusters/unpin POST

Ermöglicht es, dass der Cluster schließlich aus der Liste entfernt wird, die von der List-API zurückgegeben wird. Das Entpinnen eines Clusters, der nicht angeheftet ist, hat keine Auswirkungen.

Beispiel

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

Anforderungsstruktur

Feldname type Beschreibung
cluster_id STRING Der Cluster, der entpinnt werden soll. Dieses Feld ist erforderlich.

Liste

Endpunkt HTTP-Methode
2.0/clusters/list GET

Gibt Informationen zu allen angeheften Clustern, aktiven Clustern, bis zu 150 der zuletzt beendeten Allzweckcluster in den letzten 30 Tagen und bis zu 30 der zuletzt beendeten Auftragscluster in den letzten 30 Tagen zurück. Wenn es beispielsweise in den letzten 30 Tagen 1 angehefteter Cluster, vier aktive Cluster, 45 beendete Allzweckcluster und in den letzten 30 Tagen 50 beendete Auftragscluster gibt, gibt diese API den 1 angeheftet Cluster, vier aktive Cluster, alle 45 beendeten Allzweckcluster und die 30 zuletzt beendeten Auftragscluster zurück.

Beispiel

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
    },
    ...
  ]
}

Antwortstruktur

Feldname type Beschreibung
clusters Ein Array von ClusterInfo Eine Liste von Clustern.

Auflisten von Knotentypen

Endpunkt HTTP-Methode
2.0/clusters/list-node-types GET

Gibt eine Liste der unterstützten Spark-Knotentypen zurück. Diese Knotentypen können zum Starten eines Clusters verwendet werden.

Beispiel

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
      }
    },
    ...
  ]
}

Antwortstruktur

Feldname type Beschreibung
node_types Ein Array von NodeType Die Liste der verfügbaren Spark-Knotentypen.

Runtimeversionen

Endpunkt HTTP-Methode
2.0/clusters/spark-versions GET

Gibt die Liste der verfügbaren Runtimeversionen zurück. Diese Versionen können zum Starten eines Clusters verwendet werden.

Beispiel

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)"
    },
    ...
  ]
}

Antwortstruktur

Feldname type Beschreibung
versions Ein Array von SparkVersion Alle verfügbaren Runtimeversionen.

Ereignisse

Endpunkt HTTP-Methode
2.0/clusters/events POST

Rufen Sie eine Liste von Ereignissen zur Aktivität eines Clusters ab. Sie können Ereignisse von aktiven Clustern (ausgeführt, ausstehend oder neu konfigurieren) und beendeten Clustern innerhalb von 30 Tagen nach der letzten Beendigung abrufen. Diese API ist paginiert. Wenn weitere Ereignisse gelesen werden müssen, enthält die Antwort alle Parameter, die zum Anfordern der nächsten Ereignisseite erforderlich sind.

Beispiel:

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
}

Beispielanforderung zum Abrufen der nächsten Ereignisseite:

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
}

Anforderungsstruktur

Ruft Ereignisse ab, die sich auf einen bestimmten Cluster beziehen.

Feldname type Beschreibung
cluster_id STRING Die ID des Clusters, über den Ereignisse abgerufen werden. Dieses Feld ist erforderlich.
start_time INT64 Die Startzeit in Millisekunden. Wenn sie leer ist, werden Ereignisse zurückgegeben, die ab dem Anfang der Zeit beginnen.
end_time INT64 Die Endzeit in Millisekunden. Wenn sie leer ist, werden Ereignisse bis zur aktuellen Zeit zurückgegeben.
order ListOrder Die Reihenfolge, in der Ereignisse aufgeführt werden. entweder ASC oder DESC . Wird standardmäßig auf DESC festgelegt.
event_types Ein Array von ClusterEventType Ein optionaler Satz von Ereignistypen, nach dem gefiltert werden soll. Wenn sie leer ist, werden alle Ereignistypen zurückgegeben.
offset INT64 Der Offset im Resultset. Der Standardwert ist 0 (kein Offset). Wenn ein Offset angegeben wird und die Ergebnisse in absteigender Reihenfolge angefordert werden, end_time feld erforderlich.
limit INT64 Die maximale Anzahl von Ereignissen, die in eine Ereignisseite enthalten sein soll. Der Standardwert ist 50, und der maximal zulässige Wert ist 500.

Antwortstruktur

Feldname type BESCHREIBUNG
events Ein Array von ClusterEvent Diese Liste der übereinstimmenden Ereignisse.
next_page Anforderungsstruktur Die Parameter, die zum Abrufen der nächsten Ereignisseite erforderlich sind. Wird ausgelassen, wenn keine ereignisse mehr gelesen werden müssen.
total_count INT64 Die Gesamtanzahl von Ereignissen, die nach start_time, end_time und event_types.

Datenstrukturen

In diesem Abschnitt

Automatische Skalierung

Bereich, der die mindeste und maximale Anzahl von Cluster-Workers definiert.

Feldname type Beschreibung
min_workers INT32 Die Mindestanzahl von Arbeitsauslastungen, auf die der Cluster herunterskaliert werden kann, wenn er nicht ausgelastet ist. Dies ist auch die anfängliche Anzahl von Arbeitsmitarbeitern, über die der Cluster nach der Erstellung verfügen wird.
max_workers INT32 Die maximale Anzahl von Workers, auf die der Cluster hochskaliert werden kann, wenn er überlastet ist. max_workers muss streng größer als min_workers.

ClusterInfo

Metadaten zu einem Cluster.

Feldname type Beschreibung
num_workers ODER autoskalieren INT32 OR INT32 Wenn num_workers, die Anzahl der Workerknoten, über die dieser Cluster verfügen soll. Ein Cluster verfügt über einen Spark-Treiber und num_workers Executors für insgesamt num_workers + 1 Spark-Knoten.

Hinweis: Beim Lesen der Eigenschaften eines Clusters gibt dieses Feld die gewünschte Anzahl von Arbeitsmitarbeitern anstelle der tatsächlichen Anzahl von Arbeitsmitarbeitern an. Wenn z. B. die Größe eines Clusters von 5 auf 10 Workers geändert wird, wird dieses Feld sofort aktualisiert, um die Zielgröße von 10 Arbeitsmitarbeitern widerzu sobald die neuen Knoten bereitgestellt werden, während die in aufgeführten Workers schrittweise von 5 auf executors 10 erhöht werden.

Bei der automatischen Skalierung sind Parameter erforderlich, um Cluster basierend auf der Last automatisch hoch- und herunterzuskalieren.
cluster_id STRING Kanonischer Bezeichner für den Cluster. Diese ID wird bei Neustarts und Größenvergrößerungen des Clusters beibehalten, während jeder neue Cluster über eine global eindeutige ID verfügt.
creator_user_name STRING Name des Erstellerbenutzers. Das Feld wird ’ nicht in die Antwort aufgenommen, wenn der Benutzer bereits gelöscht wurde.
Treiber SparkNode Knoten, auf dem sich der Spark-Treiber befindet. Der Treiberknoten enthält den Spark-Master und die Databricks-Anwendung, die die Spark-REPLs pro Notebook verwaltet.
Vollstrecker Ein Array von SparkNode Knoten, auf denen sich die Spark-Executors befinden.
spark_context_id INT64 Ein kanonischer SparkContext-Bezeichner. Dieser Wert ändert sich beim Neustart des Spark-Treibers. Das Paar (cluster_id, spark_context_id) ist ein global eindeutiger Bezeichner für alle Spark-Kontexte.
jdbc_port INT32 Port, an dem der Spark-JDBC-Server im Treiberknoten lauselt. Kein Dienst laussiert an diesem Port in Executorknoten.
cluster_name STRING Der vom Benutzer angeforderte Clustername. Dies ’ muss nicht eindeutig sein. Wenn der Clustername bei der Erstellung nicht angegeben wird, ist er eine leere Zeichenfolge.
spark_version STRING Die Runtimeversion des Clusters. Sie können eine Liste der verfügbaren Runtimeversionen mithilfe des API-Aufrufs Runtimeversionen abrufen.
spark_conf SparkConfPair Ein -Objekt, das einen Satz optionaler, vom Benutzer angegebener Schlüssel-Wert-Paare für die Spark-Konfiguration enthält. Sie können auch eine Zeichenfolge mit zusätzlichen JVM-Optionen an den Treiber und die Executors übergeben.
spark.driver.extraJavaOptionsspark.executor.extraJavaOptionsbzw.

Spark-Beispiel-Confs:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} oder
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING Dieses Feld codiert mithilfe eines einzigen Werts die Ressourcen, die jedem der Spark-Knoten in diesem Cluster zur Verfügung stehen. Beispielsweise können die Spark-Knoten für arbeitsspeicher- oder rechenintensive Workloads bereitgestellt und optimiert werden. Eine Liste der verfügbaren Knotentypen kann mithilfe des API-Aufrufs Knotentypen auflisten abgerufen werden.
driver_node_type_id STRING Der Knotentyp des Spark-Treibers. Dieses Feld ist optional. Wenn dies nicht festgelegt ist, wird der Treiberknotentyp auf den gleichen Wert wie node_type_id oben definiert festgelegt.
cluster_log_conf ClusterLogConf Die Konfiguration für die Bereitstellung von Spark-Protokollen an ein langfristiges Speicherziel. Für einen Cluster kann nur ein Ziel angegeben werden. Wenn die Conf angegeben wird, werden die Protokolle jedes Mal an das Ziel übermittelt.
5 mins. Das Ziel der Treiberprotokolle ist <destination>/<cluster-ID>/driver , während das Ziel von Executorprotokollen <destination>/<cluster-ID>/executor ist.
init_scripts Ein Array von InitScriptInfo Die Konfiguration zum Speichern von Init-Skripts. Eine beliebige Anzahl von Zielen kann angegeben werden. Die Skripts werden sequenziell in der angegebenen Reihenfolge ausgeführt. Wenn cluster_log_conf angegeben ist, werden Init-Skriptprotokolle an gesendet.
<destination>/<cluster-ID>/init_scripts.
docker_image DockerImage Docker-Image für einen benutzerdefinierten Container.
spark_env_vars SparkEnvPair Ein Objekt, das einen Satz optionaler, vom Benutzer angegebener Schlüssel-Wert-Paare von Umgebungsvariablen enthält. Schlüssel-Wert-Paare des Formulars (X,Y) werden wie beträgt exportiert (d. h.
export X='Y') beim Starten des Treibers und der Arbeitsmitarbeiter.

Um einen zusätzlichen Satz von anzugeben, wird empfohlen, sie wie im folgenden Beispiel gezeigt SPARK_DAEMON_JAVA_OPTS$SPARK_DAEMON_JAVA_OPTS an anfügen. Dadurch wird sichergestellt, dass auch alle verwalteten Databricks-Standard-Umgebungsvariablen enthalten sind.

Beispiele für Spark-Umgebungsvariablen:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} oder
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
autotermination_minutes INT32 Beendet den Cluster automatisch, nachdem er für diese Zeit in Minuten inaktiv ist. Wenn nicht festgelegt, wird dieser Cluster nicht automatisch beendet. Falls angegeben, muss der Schwellenwert zwischen 10 und 10.000 Minuten liegen. Sie können diesen Wert auch auf 0 festlegen, um die automatische Beendigung explizit zu deaktivieren.
enable_elastic_disk BOOL Automatische Skalierung lokaler Storage: Wenn diese Option aktiviert ist, erhält dieser Cluster dynamisch zusätzlichen Speicherplatz, wenn die Spark-Worker nicht über genügend Speicherplatz verfügen. Weitere Informationen finden Sie unter Automatische Skalierung des lokalen Speichers.
instance_pool_id STRING Die optionale ID des Instanzpools, zu dem der Cluster gehört. Weitere Informationen finden Sie unter Pools.
state ClusterState Status des Clusters.
state_message STRING Eine Meldung, die dem letzten Zustandsübergang zugeordnet ist (z. B. der Grund, warum der Cluster in einen Zustand übergegangen TERMINATED ist).
start_time INT64 Zeit (in Epochen millisekunden), zu der die Clustererstellungsanforderung empfangen wurde (als der Cluster in einen Zustand übergegangen PENDING ist).
terminated_time INT64 Die Zeit (in Epochen millisekunden), zu der der Cluster beendet wurde (falls zutreffend).
last_state_loss_time INT64 Zeitpunkt, zu dem der Clustertreiber zuletzt seinen Zustand verloren hat (aufgrund eines Neustarts oder Treiberfehlers).
last_activity_time INT64 Zeit (in Epochen millisekunden), zu der der Cluster zuletzt aktiv war. Ein Cluster ist aktiv, wenn mindestens ein Befehl im Cluster nicht abgeschlossen wurde. Dieses Feld ist verfügbar, nachdem der Cluster einen Zustand erreicht RUNNING hat. Aktualisierungen dieses Felds werden als bestmögliche Versuche durchgeführt. Bestimmte Versionen von Spark unterstützen die Berichterstellung von Clusteraktivitäten nicht. Weitere Informationen finden Sie unter Automatische Beendigung.
cluster_memory_mb INT64 Gesamtmenge des Clusterspeichers in Megabyte.
cluster_cores FLOAT Anzahl der für diesen Cluster verfügbaren CPU-Kerne. Dies kann ein Bruchteil sein, da bestimmte Knotentypen so konfiguriert sind, dass sie Kerne zwischen Spark-Knoten auf derselben Instanz gemeinsam nutzen.
default_tags ClusterTag Ein -Objekt, das einen Satz von Tags enthält, die von Azure Databricks unabhängig von custom_tags hinzugefügt werden, einschließlich:

* Anbieter: Databricks
* Ersteller:
* ClusterName:
* ClusterId:
* Name: In Auftragsclustern:

* RunName:
* JobId: Für Ressourcen, die von Databricks SQL verwendet werden:

* SqlEndpointId:
cluster_log_status LogSyncStatus Status der Clusterprotokollübermittlung.
termination_reason TerminationReason Informationen dazu, warum der Cluster beendet wurde. Dieses Feld wird nur angezeigt, wenn sich der Cluster im TERMINATING Zustand oder TERMINATED befindet.

ClusterEvent

Clusterereignisinformationen.

Feldname type Beschreibung
cluster_id STRING Kanonischer Bezeichner für den Cluster. Dieses Feld ist erforderlich.
timestamp INT64 Der Zeitstempel, zu dem das Ereignis aufgetreten ist, gespeichert als die Anzahl von Millisekunden seit der Unix-Epoche. Wird vom Zeitachsendienst zugewiesen.
type ClusterEventType Der Ereignistyp. Dieses Feld ist erforderlich.
Details EventDetails Die Ereignisdetails. Dieses Feld ist erforderlich.

ClusterEventType

Typ eines Clusterereignisses.

Ereignistyp BESCHREIBUNG
ERSTELLEN Gibt an, dass der Cluster erstellt wird.
DID_NOT_EXPAND_DISK Gibt an, dass auf einem Datenträger wenig Speicherplatz vorhanden ist, aber das Hinzufügen von Datenträgern würde die maximale Kapazität überlasten.
EXPANDED_DISK Gibt an, dass auf einem Datenträger wenig Speicherplatz vorhanden war und die Datenträger erweitert wurden.
FAILED_TO_EXPAND_DISK Gibt an, dass auf einem Datenträger wenig Speicherplatz vorhanden war und der Speicherplatz nicht erweitert werden konnte.
INIT_SCRIPTS_STARTING Gibt an, dass das clusterbasierte Init-Skript gestartet wurde.
INIT_SCRIPTS_FINISHED Gibt an, dass das init-Skript für den Clusterbereich abgeschlossen wurde.
WIRD GESTARTET Gibt an, dass der Cluster gestartet wird.
NEUSTART Gibt an, dass der Cluster gestartet wird.
BEENDEN Gibt an, dass der Cluster beendet wird.
BEARBEITET Gibt an, dass der Cluster bearbeitet wurde.
RUNNING Gibt an, dass die Erstellung des Clusters abgeschlossen ist. Enthält die Anzahl der Knoten im Cluster und eine Fehlerursache, wenn einige Knoten nicht erworben werden konnten.
GRÖßENÄNDERUNG Gibt eine Änderung der Zielgröße des Clusters an (Upsize oder Downsize).
UPSIZE_COMPLETED Gibt an, dass die Knoten dem Cluster hinzugefügt wurden. Enthält die Anzahl der Knoten im Cluster und eine Fehlerursache, wenn einige Knoten nicht erworben werden konnten.
NODES_LOST Gibt an, dass einige Knoten aus dem Cluster verloren gegangen sind.
DRIVER_HEALTHY Gibt an, dass der Treiber fehlerfrei ist und der Cluster einsatzbereit ist.
DRIVER_UNAVAILABLE Gibt an, dass der Treiber nicht verfügbar ist.
SPARK_EXCEPTION Gibt an, dass eine Spark-Ausnahme vom Treiber ausgelöst wurde.
DRIVER_NOT_RESPONDING Gibt an, dass der Treiber hoch ist, aber nicht reaktionsfähig ist, wahrscheinlich aufgrund von GC.
DBFS_DOWN Gibt an, dass der Treiber hoch ist, dbfs jedoch nicht verfügbar ist.
METASTORE_DOWN Gibt an, dass der Treiber hoch ist, aber der Metastore ausgeschaltet ist.
NODE_BLACKLISTED Gibt an, dass ein Knoten von Spark nicht zugelassen wird.
GEMERKT Gibt an, dass der Cluster angeheftet wurde.
UNPINNED Gibt an, dass der Cluster gelöst wurde.

EventDetails

Details zu einem Clusterereignis.

Feldname type Beschreibung
current_num_workers INT32 Die Anzahl der Knoten im Cluster.
target_num_workers INT32 Die Zielanzahl von Knoten im Cluster.
previous_attributes ClusterAttributes Die Clusterattribute, bevor ein Cluster bearbeitet wurde.
attributes ClusterAttributes * Bei erstellten Clustern die Attribute des Clusters.
* Bei bearbeiteten Clustern die neuen Attribute des Clusters.
previous_cluster_size ClusterSize Die Größe des Clusters vor einer Bearbeitung oder Größenänderung.
cluster_size ClusterSize Die Clustergröße, die bei der Clustererstellung oder -bearbeitung festgelegt wurde.
Ursache ResizeCause Die Ursache einer Änderung der Zielgröße.
reason TerminationReason Ein Grund für die Beendigung:

* Bei einem TERMINATED Ereignis der Grund für die Beendigung.
* Gibt bei einem RESIZE_COMPLETE Ereignis den Grund an, aus dem einige Knoten nicht erworben werden konnten.
Benutzer STRING Der Benutzer, der das Ereignis verursacht hat. (Leer, wenn dies durch Azure Databricks erfolgt ist.)

ClusterAttributes

Allgemeiner Satz von Attributen, die während der Clustererstellung festgelegt wurden. Diese Attribute können während der Lebensdauer eines Clusters nicht geändert werden.

Feldname type Beschreibung
cluster_name STRING Vom Benutzer angeforderter Clustername. Dies ’ muss nicht eindeutig sein. Wenn er bei der Erstellung nicht angegeben wird, ist der Clustername eine leere Zeichenfolge.
spark_version STRING Die Runtimeversion des Clusters, “ z.B. 5.0.x-scala2.11. ” Sie können eine Liste der verfügbaren Laufzeitversionen abrufen, indem Sie den API-Aufruf für Laufzeitversionen verwenden.
spark_conf SparkConfPair Ein Objekt, das einen Satz optionaler, benutzerdefinierter Spark-Konfigurationsschlüssel-Wert-Paare enthält. Sie können auch eine Zeichenfolge mit zusätzlichen JVM-Optionen an den Treiber und die Executors über übergeben.
spark.driver.extraJavaOptions und spark.executor.extraJavaOptions bzw.

Spark-Beispiel-Confs:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} oder
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING Dieses Feld codiert mithilfe eines einzigen Werts die Ressourcen, die jedem der Spark-Knoten in diesem Cluster zur Verfügung stehen. Beispielsweise können die Spark-Knoten für arbeitsspeicher- oder rechenintensive Workloads bereitgestellt und optimiert werden. Eine Liste der verfügbaren Knotentypen kann mithilfe des API-Aufrufs Knotentypen auflisten abgerufen werden.
driver_node_type_id STRING Der Knotentyp des Spark-Treibers. Dieses Feld ist optional. Wenn die Festlegung nicht festgelegt ist, wird der Treiberknotentyp als der gleiche Wert wie node_type_id oben definiert festgelegt.
ssh_public_keys Ein Array von STRING Inhalt des öffentlichen SSH-Schlüssels, der jedem Spark-Knoten in diesem Cluster hinzugefügt wird. Die entsprechenden privaten Schlüssel können verwendet werden, um sich mit dem Benutzernamen ubuntu am Port 2200 anzumelden. Bis zu 10 Schlüssel können angegeben werden.
custom_tags ClusterTag Ein Objekt, das einen Satz von Tags für Clusterressourcen enthält. Databricks kennzeichnet alle Clusterressourcen zusätzlich zu default_tags mit diesen Tags.

Hinweis:

* Tags werden für Legacyknotentypen wie computeoptimierte und speicheroptimierte Knotentypen nicht unterstützt.
* Databricks lässt höchstens 45 benutzerdefinierte Tags zu
cluster_log_conf ClusterLogConf Die Konfiguration für die Übermittlung von Spark-Protokollen an ein langfristiges Speicherziel. Für einen Cluster kann nur ein Ziel angegeben werden. Wenn die Conf angegeben wird, werden die Protokolle jedes Mal an das Ziel übermittelt.
5 mins. Das Ziel von Treiberprotokollen ist <destination>/<cluster-ID>/driver , während das Ziel von Executorprotokollen <destination>/<cluster-ID>/executor ist.
init_scripts Ein Array von InitScriptInfo Die Konfiguration zum Speichern von Init-Skripts. Eine beliebige Anzahl von Zielen kann angegeben werden. Die Skripts werden sequenziell in der angegebenen Reihenfolge ausgeführt. Wenn cluster_log_conf angegeben ist, werden init-Skriptprotokolle an gesendet.
<destination>/<cluster-ID>/init_scripts.
docker_image DockerImage Docker-Image für einen benutzerdefinierten Container.
spark_env_vars SparkEnvPair Ein Objekt, das einen Satz optionaler, benutzerdefinierter Umgebungsvariablen-Schlüssel-Wert-Paare enthält. Schlüssel-Wert-Paare des Formulars (X,Y) werden wie be stimmt exportiert (d.b.
export X='Y') beim Starten des Treibers und der Worker.

Um einen zusätzlichen Satz von SPARK_DAEMON_JAVA_OPTS anzugeben, empfehlen wir, sie an $SPARK_DAEMON_JAVA_OPTS anzufügen, wie im folgenden Beispiel gezeigt. Dadurch wird sichergestellt, dass auch alle von Databricks verwalteten Standard-Umgebungsvariablen enthalten sind.

Spark-Beispielumgebungsvariablen:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} oder
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
autotermination_minutes INT32 Beendet den Cluster automatisch, nachdem er für diesen Zeitraum in Minuten inaktiv ist. Wenn dieser Cluster nicht festgelegt ist, wird er nicht automatisch beendet. Falls angegeben, muss der Schwellenwert zwischen 10 und 10.000 Minuten liegen. Sie können diesen Wert auch auf 0 festlegen, um die automatische Beendigung explizit zu deaktivieren.
enable_elastic_disk BOOL Automatische Skalierung lokaler Storage: Wenn diese Option aktiviert ist, erhält dieser Cluster dynamisch zusätzlichen Speicherplatz, wenn die Spark-Worker nicht über genügend Speicherplatz verfügen. Weitere Informationen finden Sie unter Automatische Skalierung des lokalen Speichers.
instance_pool_id STRING Die optionale ID des Instanzpools, zu dem der Cluster gehört. Weitere Informationen finden Sie unter Pools.
cluster_source ClusterSource Bestimmt, ob der Cluster von einem Benutzer über die Benutzeroberfläche, durch den Databricks-Aufträge-Scheduler oder über eine API-Anforderung erstellt wurde.
policy_id STRING Eine Clusterrichtlinien-ID.
azure_attributes AzureAttributes Definiert Attribute wie den Verfügbarkeitstyp der Instanz, die Knotenplatzierung und den maximalen Angebotspreis. Wenn sie während der Clustererstellung nicht angegeben wird, wird ein Satz von Standardwerten verwendet.

ClusterSize

Spezifikation der Clustergröße.

Feldname type Beschreibung
num_workers ODER automatische Skalierung INT32 OR INT32 Wenn num_workers, die Anzahl der Workerknoten, über die dieser Cluster verfügen soll. Ein Cluster verfügt über einen Spark-Treiber und num_workers Executors für insgesamt num_workers + 1 Spark-Knoten.

Beim Lesen der Eigenschaften eines Clusters spiegelt dieses Feld die gewünschte Anzahl von Workern statt der tatsächlichen Anzahl von Workern wider. Wenn beispielsweise die Größe eines Clusters von 5 auf 10 Worker geändert wird, wird dieses Feld aktualisiert, um die Zielgröße von 10 Workern widerzuspiegeln, während die in Executors aufgeführten Worker schrittweise von 5 auf 10 erhöht werden, wenn die neuen Knoten bereitgestellt werden.

Bei autoskalierung sind Parameter erforderlich, um Cluster basierend auf der Last automatisch hoch- und herunterskaliert zu können.

ListOrder

Generische Reihenfolgenenumer für listenbasierte Abfragen.

Auftrag Beschreibung
DESC Absteigende Reihenfolge.
ASC Aufsteigende Reihenfolge.

ResizeCause

Grund für die Größenänderung eines Clusters.

Ursache Beschreibung
AUTOSCALE Automatische Größenänderung basierend auf der Last.
USER_REQUEST Der Benutzer hat eine neue Größe angefordert.
AUTORECOVERY Die Größe des Clusters wurde nach dem Verlust eines Knotens durch den automatischen Wiederhergestellten Monitor geändert.

ClusterLogConf

Pfad zum Clusterprotokoll.

Feldname type Beschreibung
dbfs DbfsStorageInfo DBFS-Speicherort des Clusterprotokolls. Das Ziel muss angegeben werden. Beispiel:
{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

InitScriptInfo

Pfad zu einem Init-Skript. Anweisungen zur Verwendung von Init-Skripts mit Databricks Container Servicesfinden Sie unter Verwenden eines Init-Skripts.

Hinweis

Der Dateispeichertyp ist nur für Cluster verfügbar, die mit Databricks Container Serviceseingerichtet wurden.

Feldname type Beschreibung
dbfs OR-Datei DbfsStorageInfo

FileStorageInfo
DBFS-Speicherort des Init-Skripts. Das Ziel muss angegeben werden. Beispiel:
{ "dbfs" : { "destination" : "dbfs:/home/init_script" } }

Dateispeicherort des Init-Skripts. Das Ziel muss angegeben werden. Beispiel:
{ "file" : { "destination" : "file:/my/local/file.sh" } }

ClusterTag

Clustertagdefinition.

Typ Beschreibung
STRING Der Schlüssel des Tags. Der Schlüssel muss:

* Zwischen 1 und 512 Zeichen lang
* Keines der Zeichen enthalten <>%*&+?\\/
* Beginnt nicht mit azure , microsoft oder windows
STRING Der Wert des Tags. Die Wertlänge muss kleiner oder gleich 256 UTF-8 Zeichen sein.

DbfsStorageInfo

DBFS-Speicherinformationen.

Feldname type Beschreibung
destination STRING DBFS-Ziel. Beispiel: dbfs:/my/path

FileStorageInfo

Informationen zum Dateispeicher.

Hinweis

Dieser Standorttyp ist nur für Cluster verfügbar, die mit Databricks Container Serviceseingerichtet wurden.

Feldname type Beschreibung
destination STRING Dateiziel. Beispiel: file:/my/file.sh

DockerImage

Docker-Imageverbindungsinformationen.

Feld Typ Beschreibung
url Zeichenfolge URL für das Docker-Image.
basic_auth DockerBasicAuth Grundlegende Authentifizierungsinformationen für das Docker-Repository.

DockerBasicAuth

Grundlegende Authentifizierungsinformationen für das Docker-Repository.

Feld Beschreibung
username Benutzername für das Docker-Repository.
password Kennwort für das Docker-Repository.

LogSyncStatus

Protokollübermittlungsstatus.

Feldname type Beschreibung
last_attempted INT64 Der Zeitstempel des letzten Versuchs. Wenn der letzte Versuch fehlschlägt, enthält last_exception die Ausnahme beim letzten Versuch.
last_exception STRING Die Ausnahme, die beim letzten Versuch ausgelöst wurde, wäre NULL (in der Antwort ausgelassen), wenn beim letzten Versuch keine Ausnahme vorhanden ist.

Nodetype

Beschreibung eines Spark-Knotentyps, einschließlich der Dimensionen des Knotens und des Instanztyps, auf dem er gehostet wird.

Feldname type Beschreibung
node_type_id STRING Eindeutiger Bezeichner für diesen Knotentyp. Dieses Feld ist erforderlich.
memory_mb INT32 Arbeitsspeicher (in MB) für diesen Knotentyp verfügbar. Dieses Feld ist erforderlich.
num_cores FLOAT Anzahl der für diesen Knotentyp verfügbaren CPU-Kerne. Dies kann ein Bruchteil sein, wenn die Anzahl der Kerne auf einer Computerinstanz nicht durch die Anzahl der Spark-Knoten auf diesem Computer geteilt werden kann. Dieses Feld ist erforderlich.
description STRING Eine Zeichenfolgenbeschreibung, die diesem Knotentyp zugeordnet ist. Dieses Feld ist erforderlich.
instance_type_id STRING Ein Bezeichner für den Hardwaretyp, auf dem dieser Knoten ausgeführt wird. Dieses Feld ist erforderlich.
is_deprecated BOOL Gibt an, ob der Knotentyp veraltet ist. Nicht veraltete Knotentypen bieten eine höhere Leistung.
node_info ClusterCloudProviderNodeInfo Vom Cloudanbieter gemeldete Knotentypinformationen.

ClusterCloudProviderNodeInfo

Informationen zu einer von einem Cloudanbieter bereitgestellten Instanz.

Feldname type BESCHREIBUNG
status ClusterCloudProviderNodeStatus Status, der vom Cloudanbieter gemeldet wird.
available_core_quota INT32 Verfügbares CPU-Kernkontingent.
total_core_quota INT32 Cpu-Kernkontingent gesamt.

ClusterCloudProviderNodeStatus

Status einer von einem Cloudanbieter bereitgestellten Instanz.

Status Beschreibung
NotEnabledOnSubscription Der Knotentyp ist für das Abonnement nicht verfügbar.
NotAvailableInRegion Der Knotentyp ist in der Region nicht verfügbar.

ParameterPair

Parameter, der zusätzliche Informationen darüber bereitstellt, warum ein Cluster beendet wurde.

Typ Beschreibung
TerminationParameter Typ der Beendigungsinformationen.
STRING Die Beendigungsinformationen.

SparkConfPair

Schlüssel-Wert-Paare für die Spark-Konfiguration.

Typ Beschreibung
STRING Ein Konfigurationseigenschaftsname.
STRING Der Konfigurationseigenschaftswert.

SparkEnvPair

Schlüssel-Wert-Paare von Spark-Umgebungsvariablen.

Wichtig

Beim Angeben von Umgebungsvariablen in einem Auftragscluster akzeptieren die Felder in dieser Datenstruktur nur lateinische Zeichen (ASCII-Zeichensatz). Die Verwendung von Nicht-ASCII-Zeichen gibt einen Fehler zurück. Beispiele für ungültige Nicht-ASCII-Zeichen sind Chinesisch, japanische Kanjis und Emojis.

Typ Beschreibung
STRING Ein Umgebungsvariablenname.
STRING Der Wert der Umgebungsvariablen.

SparkNode

Spark-Treiber- oder Executorkonfiguration.

Feldname type Beschreibung
private_ip STRING Private IP-Adresse (in der Regel eine 10.x.x.x-Adresse) des Spark-Knotens. Dies ist anders als die private IP-Adresse der Hostinstanz.
public_dns STRING Öffentliche DNS-Adresse dieses Knotens. Diese Adresse kann für den Zugriff auf den Spark-JDBC-Server auf dem Treiberknoten verwendet werden.
node_id STRING Global eindeutiger Bezeichner für diesen Knoten.
instance_id STRING Global eindeutiger Bezeichner für die Hostinstanz vom Cloudanbieter.
start_timestamp INT64 Der Zeitstempel (in Millisekunde) beim Start des Spark-Knotens.
host_private_ip STRING Die private IP-Adresse der Hostinstanz.

SparkVersion

Databricks Runtime Version des Clusters.

Feldname type BESCHREIBUNG
Schlüssel STRING Databricks Runtime Versionsschlüssel, z. B. . Der Wert, der beim Erstellen eines neuen Clusters spark_version als bereitgestellt werden soll. Die genaue Laufzeitversion kann sich im Laufe der Zeit für eine Platzhalterversion (d. h. eine Platzhalterversion) mit “”7.3.x-scala2.12“” kleineren Fehlerbehebungen ändern.
name STRING Ein beschreibender Name für die Laufzeitversion, z. B. “ Databricks Runtime 7.3 LTS ” .

TerminationReason

Grund, warum ein Cluster beendet wurde.

Feldname type Beschreibung
code TerminationCode Statuscode, der angibt, warum ein Cluster beendet wurde.
type TerminationType Grund, der angibt, warum ein Cluster beendet wurde.
parameters ParameterPair Ein Objekt, das einen Satz von Parametern enthält, die Informationen darüber bereitstellen, warum ein Cluster beendet wurde.

PoolClusterTerminationCode

Statuscode, der angibt, warum der Cluster aufgrund eines Poolfehlers beendet wurde.

Code BESCHREIBUNG
INSTANCE_POOL_MAX_CAPACITY_FAILURE Die maximale Poolkapazität wurde erreicht.
INSTANCE_POOL_NOT_FOUND_FAILURE Der vom Cluster angegebene Pool ist nicht mehr aktiv oder ’ nicht vorhanden.

ClusterSource

Dienst, der den Cluster erstellt hat.

Dienst Beschreibung
Benutzeroberfläche Über die Benutzeroberfläche erstellter Cluster.
JOB Vom Databricks-Auftragsplaner erstellter Cluster.
API Cluster, der über einen API-Aufruf erstellt wurde.

ClusterState

Status eines Clusters. Die zulässigen Zustandsübergänge lauten wie folgt:

  • PENDING ->RUNNING
  • PENDING ->TERMINATING
  • RUNNING ->RESIZING
  • RUNNING ->RESTARTING
  • RUNNING ->TERMINATING
  • RESTARTING ->RUNNING
  • RESTARTING ->TERMINATING
  • RESIZING ->RUNNING
  • RESIZING ->TERMINATING
  • TERMINATING ->TERMINATED
State Beschreibung
PENDING Gibt an, dass gerade ein Cluster erstellt wird.
RUNNING Gibt an, dass ein Cluster gestartet wurde und einsatzbereit ist.
RESTARTING Gibt an, dass ein Cluster neu gestartet wird.
RESIZING Gibt an, dass ein Cluster Knoten hinzufügungs- oder entfernt.
TERMINATING Gibt an, dass ein Cluster gerade zerstört wird.
TERMINATED Gibt an, dass ein Cluster erfolgreich zerstört wurde.
ERROR Dieser Zustand wird nicht mehr verwendet. Es wurde verwendet, um einen Cluster anzugeben, der nicht erstellt werden konnte.
TERMINATING und TERMINATED werden stattdessen verwendet.
UNKNOWN Gibt an, dass sich ein Cluster in einem unbekannten Zustand befindet. Ein Cluster sollte sich nie in diesem Zustand befingen.

TerminationCode

Statuscode, der angibt, warum der Cluster beendet wurde.

Code BESCHREIBUNG
USER_REQUEST Ein Benutzer hat den Cluster direkt beendet. Parameter sollten ein Feld username enthalten, das den bestimmten Benutzer angibt, der den Cluster beendet hat.
JOB_FINISHED Der Cluster wurde durch einen Auftrag gestartet und nach Abschluss des Auftrags beendet.
INAKTIVITÄT Der Cluster wurde beendet, da er sich im Leerlauf befindet.
CLOUD_PROVIDER_SHUTDOWN Die Instanz, die den Spark-Treiber gehostet hat, wurde vom Cloudanbieter beendet.
COMMUNICATION_LOST Azure Databricks verbindung mit Diensten auf der Treiberinstanz verloren. Dies kann beispielsweise passieren, wenn Probleme in der Cloudnetzwerkinfrastruktur auftreten oder wenn die Instanz selbst fehlerhaft wird.
CLOUD_PROVIDER_LAUNCH_FAILURE Azure Databricks beim Anfordern von Instanzen zum Starten von Clustern ein Cloudanbieterfehler auft.
SPARK_STARTUP_FAILURE Fehler beim Initialisieren des Clusters. Mögliche Gründe können ein Fehler beim Erstellen der Umgebung für Spark oder Probleme beim Starten der Spark-Master- und -Workerprozesse sein.
INVALID_ARGUMENT Der Cluster kann nicht gestartet werden, da der Benutzer ein ungültiges Argument angegeben hat. Beispielsweise kann der Benutzer eine ungültige Laufzeitversion für den Cluster angeben.
UNEXPECTED_LAUNCH_FAILURE Beim Starten dieses Clusters konnte Azure Databricks wichtige Setupschritte nicht ausführen und den Cluster beenden.
INTERNAL_ERROR Azure Databricks unerwarteter Fehler festgestellt, der das Beenden des ausgeführten Clusters erzwungen hat. Weitere Azure Databricks erhalten Sie vom Support.
SPARK_ERROR Der Spark-Treiber konnte nicht gestartet werden. Mögliche Gründe können inkompatible Bibliotheken und Initialisierungsskripts sein, die den Spark-Container beschädigt haben.
METASTORE_COMPONENT_UNHEALTHY Der Cluster konnte nicht gestartet werden, weil der externe Metastore nicht erreicht werden konnte. Weitere Informationen finden Sie unter Problembehandlung.
DBFS_COMPONENT_UNHEALTHY Der Cluster konnte nicht gestartet werden, weil das Databricks File System (DBFS) nicht erreicht werden konnte.
AZURE_RESOURCE_PROVIDER_THROTTLING Azure Databricks das Anforderungslimit des Azure-Ressourcenanbieters erreicht. Insbesondere die API-Anforderungsrate für den spezifischen Ressourcentyp (Compute, Netzwerk usw.). darf ’ den Grenzwert nicht überschreiten. Der Wiederholungsversuch kann helfen, das Problem zu beheben. Weitere Informationen finden Sie unter https://docs.microsoft.com/azure/virtual-machines/troubleshooting/troubleshooting-throttling-errors .
AZURE_RESOURCE_MANAGER_THROTTLING Azure Databricks den Grenzwert Azure Resource Manager Anforderung erreicht, wodurch verhindert wird, dass das Azure SDK Lese- oder Schreibanforderungen an die Azure Resource Manager. Das Anforderungslimit wird stündlich auf jedes Abonnement angewendet. Wiederholen Sie den Vorgang nach einer Stunde, oder ändern Sie in eine kleinere Clustergröße, um das Problem zu beheben. Weitere Informationen finden Sie unter https://docs.microsoft.com/azure/azure-resource-manager/resource-manager-request-limits .
NETWORK_CONFIGURATION_FAILURE Der Cluster wurde aufgrund eines Fehlers in der Netzwerkkonfiguration beendet. Ein Arbeitsbereich mit VNET-Einjektion hatte beispielsweise falsche DNS-Einstellungen, die den Zugriff auf Workerartefakte blockierten.
DRIVER_UNREACHABLE Azure Databricks konnte nicht auf den Spark-Treiber zugreifen, da er nicht erreichbar war.
DRIVER_UNRESPONSIVE Azure Databricks konnte nicht auf den Spark-Treiber zugreifen, da er nicht reagierte.
INSTANCE_UNREACHABLE Azure Databricks konnte nicht auf Instanzen zugreifen, um den Cluster zu starten. Dies kann ein vorübergehendes Netzwerkproblem sein. Wenn das Problem weiterhin besteht, deutet dies in der Regel auf eine fehlerhafte Konfiguration der Netzwerkumgebung hin.
CONTAINER_LAUNCH_FAILURE Azure Databricks konnte keine Container auf Workerknoten für den Cluster starten. Der Administrator muss Ihre Netzwerkkonfiguration überprüfen.
INSTANCE_POOL_CLUSTER_FAILURE Clusterspezifischer Fehler mit Pool-Backed. Weitere Informationen finden Sie unter Pools.
REQUEST_REJECTED Azure Databricks kann die Anforderung derzeit nicht verarbeiten. Versuchen Sie es später erneut, und wenden Azure Databricks, wenn das Problem weiterhin besteht.
INIT_SCRIPT_FAILURE Azure Databricks kann kein clusterspezifisches Init-Skript auf einem der Clusterknoten laden und ausführen, oder das Init-Skript wird mit einem Exitcode beendet, der nicht ’ 0 (null) ist. Weitere Informationen finden Sie unter Init-Skriptprotokolle.
TRIAL_EXPIRED Das Azure Databricks Testabonnement ist abgelaufen.
BOOTSTRAP_TIMEOUT Der Cluster konnte aufgrund von Problemen mit der Benutzernetzwerkkonfiguration nicht gestartet werden. Mögliche Gründe sind fehlkonfigurierte Firewalleinstellungen, UDR-Einträge, DNS oder Routentabellen.

TerminationType

Grund, warum der Cluster beendet wurde.

Typ Beschreibung
SUCCESS Beendigung erfolgreich.
CLIENT_ERROR Nicht wiederverfetzbar. Der Client muss Parameter korrigieren, bevor die Clustererstellung erneut angefügt wird.
SERVICE_FAULT Azure Databricks Dienstproblem. Der Client kann den Vorgang wiederholen.
CLOUD_FAILURE Problem mit der Cloudanbieterinfrastruktur. Der Client kann den Vorgang wiederholen, nachdem das zugrunde liegende Problem behoben wurde.

TerminationParameter

Schlüssel, der zusätzliche Informationen darüber enthält, warum ein Cluster beendet wurde.

Schlüssel Beschreibung
username Der Benutzername des Benutzers, der den Cluster beendet hat.
databricks_error_message Zusätzlicher Kontext, der den Grund für die Clusterbeendigung erklären kann.
inactivity_duration_min Ein Cluster im Leerlauf wurde heruntergefahren, nachdem er für diesen Zeitraum inaktiv war.
instance_id Die ID der Instanz, die den Spark-Treiber gehostet hat.
azure_error_code Der von Azure bereitgestellte Fehlercode beschreibt, warum Clusterknoten nicht bereitgestellt werden konnten. Weitere Informationen finden Sie https://docs.microsoft.com/azure/virtual-machines/windows/error-messages unter: .
azure_error_message Lesbarer Kontext verschiedener Fehler aus Azure. Dieses Feld ist unstrukturiert, und das genaue Format kann geändert werden.
instance_pool_id Die ID des Instanzpools, den der Cluster verwendet.
instance_pool_error_code Der Fehlercode für Clusterfehler, die für einen Pool spezifisch sind.

AzureAttributes

Attribute, die während der Clustererstellung im Zusammenhang mit Azure festgelegt wurden.

Feldname type Beschreibung
first_on_demand INT32 Die ersten first_on_demand Knoten des Clusters werden auf bedarfsorientierten Instanzen platziert. Dieser Wert muss größer als 0 sein, andernfalls schlägt die Überprüfung der Clustererstellung fehl. Wenn dieser Wert größer oder gleich der aktuellen Clustergröße ist, werden alle Knoten auf bedarfsorientierten Instanzen platziert. Wenn dieser Wert kleiner als die aktuelle Clustergröße ist, first_on_demand werden Knoten auf bedarfsorientierten Instanzen platziert, und der Rest wird auf Verfügbarkeitsinstanzen platziert. Dieser Wert wirkt sich nicht auf die Clustergröße aus und kann nicht über die Lebensdauer eines Clusters mutiert werden.
availability AzureAvailability Verfügbarkeitstyp, der für alle nachfolgenden Knoten nach den Knoten verwendet first_on_demand wird.
spot_bid_max_price DOUBLE Der maximale Angebotspreis, der für Azure Spot-Instanzen verwendet wird. Sie können diesen auf größer oder gleich dem aktuellen Spot-Preis festlegen. Sie können dies auch auf -1 (Standardeinstellung) festlegen, was angibt, dass die Instanz nicht anhand des Preises entfernt werden kann. Der Preis für die Instanz ist der aktuelle Preis für Spot-Instanzen oder der Preis für eine Standardinstanz. Sie können verlaufsabhängige Preise und Eviction-Raten im Azure-Portal anzeigen.

AzureAvailability

Das Verhalten des Azure-Instanzverfügbarkeitstyps.

Typ Beschreibung
SPOT_AZURE Verwenden Sie Spot-Instanzen.
ON_DEMAND_AZURE Verwenden Sie bedarfsorientierte Instanzen.
SPOT_WITH_FALLBACK_AZURE Verwenden Sie vorzugsweise Spot-Instanzen, aber greifen Sie auf bedarfsorientierte Instanzen zurück, wenn Spot-Instanzen nicht erworben werden können (z. B. wenn die Azure-Spot-Preise zu hoch oder außerhalb des Kontingents liegen). Gilt nicht für die Poolverfügbarkeit.