Auftrags-API 2.0

Wichtig

In diesem Artikel wird die Version 2.0 der Auftrags-API dokumentiert. Databricks empfiehlt jedoch die Verwendung der Auftrags-API 2.1 für neue und vorhandene Clients sowie Skripts. Ausführliche Informationen zu den Änderungen zwischen den Versionen 2.0 und 2.1 finden Sie unter Aktualisieren der Auftrags-API 2.0 auf die Version 2.1.

Mithilfe der Auftrags-API können Sie Aufträge erstellen, bearbeiten und löschen. Die maximal zulässige Größe einer Anforderung an die Auftrags-API beträgt 10 MB.

Ausführliche Informationen zu den Aktualisierungen der Auftrags-API, die jetzt die Orchestrierung mehrerer Aufgaben mit Azure Databricks-Aufträgen unterstützt, finden Sie unter Aktualisieren der Auftrags-API 2.0 auf die Version 2.1.

Warnung

Geheimnisse sollten niemals hartcodiert oder als Nur-Text gespeichert werden. Verwenden Sie die Geheimnis-API, um Geheimnisse in der Databricks-CLI zu verwalten. Verwenden Sie das Geheimnis-Hilfsprogramm (dbutils.secrets), um in Notebooks und Aufträgen auf Geheimnisse zu verweisen.

Hinweis

Wenn Sie für Auftrags-API-Anforderungen einen Fehler der Kategorie 500 erhalten, empfiehlt Databricks, Anforderungen bis zu 10 Minuten lang zu wiederholen (mit einem zeitlichen Abstand von mindestens 30 Sekunden zwischen den Wiederholungsversuchen).

Wichtig

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

Erstellen

Endpunkt HTTP-Methode
2.0/jobs/create POST

Erstellen Sie einen neuen Auftrag.

Beispiel

In diesem Beispiel wird ein Auftrag erstellt, mit dem jeden Abend um 22:15 Uhr eine JAR-Aufgabe ausgeführt wird.

Anforderung

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/create \
--data @create-job.json \
| jq .

create-job.json:

{
  "name": "Nightly model training",
  "new_cluster": {
    "spark_version": "7.3.x-scala2.12",
    "node_type_id": "Standard_D3_v2",
    "num_workers": 10
  },
  "libraries": [
    {
      "jar": "dbfs:/my-jar.jar"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2"
      }
    }
  ],
  "timeout_seconds": 3600,
  "max_retries": 1,
  "schedule": {
    "quartz_cron_expression": "0 15 22 * * ?",
    "timezone_id": "America/Los_Angeles"
  },
  "spark_jar_task": {
    "main_class_name": "com.databricks.ComputeModels"
  }
}

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.
  • Den Inhalt von create-job.json durch Felder, die für Ihre Lösung geeignet sind.

In diesem Beispiel werden eine NETRC-Datei und jq verwendet.

response

{
  "job_id": 1
}

Anforderungsstruktur

Wichtig

  • Wenn Sie einen Auftrag in einem neuen Auftragscluster ausführen, wird der Auftrag als (automatisierte) Jobs Compute-Workload behandelt, für die der Jobs Compute-Preis gilt.
  • Wenn Sie einen Auftrag in einem vorhandenen All-Purpose-Cluster ausführen, wird er als (interaktive) All-Purpose Compute-Workload behandelt, für die die All-Purpose Compute-Preise gelten.
Feldname Typ BESCHREIBUNG
existing_cluster_id ODER new_cluster STRING ODER NewCluster „existing_cluster_id“ gibt die ID eines vorhandenen Clusters an, der für alle Ausführungen dieses Auftrags verwendet wird. Wenn Sie Aufträge für einen vorhandenen Cluster ausführen, müssen Sie den Cluster möglicherweise manuell neu starten, wenn er nicht mehr reagiert. Es wird empfohlen, Aufträge in neuen Clustern auszuführen, um die Zuverlässigkeit zu erhöhen.

„new_cluster“ gibt eine Beschreibung eines Clusters an, der für jede Ausführung erstellt wird.

Wenn Sie PipelineTask angeben, kann dieses Feld leer sein.
notebook_task ODER spark_jar_task ODER
spark_python_task ODER spark_submit_task ODER
pipeline_task ODER run_job_task
NotebookTask ODER SparkJarTask ODER SparkPythonTask ODER SparkSubmitTask ODER PipelineTask ODER RunJobTask „notebook_task“ gibt an, dass dieser Auftrag ein Notebook ausführen soll. Dieses Feld kann nicht in Verbindung mit „spark_jar_task“ verwendet werden.

„spark_jar_task“ gibt an, dass dieser Auftrag eine JAR ausführen soll.

„spark_python_task“ gibt an, dass dieser Auftrag eine Python-Datei ausführen soll.

„spark_submit_task“ gibt an, dass dieser Auftrag über das spark-submit-Skript gestartet werden soll.

„pipeline_task“ gibt an, dass dieser Auftrag eine Delta Live Tables-Pipeline ausführen soll.

„run_job_task“ gibt an, dass dieser Auftrag einen anderen Auftrag ausführen soll.
name STRING Ein optionaler Name für den Auftrag. Der Standardwert ist Untitled.
libraries Ein Array von Library (Bibliothek) Eine optionale Liste der Bibliotheken, die in dem Cluster installiert werden, der den Auftrag ausführen wird. Der Standardwert ist eine leere Liste.
email_notifications JobEmailNotifications Ein optionaler Satz an E-Mail-Adressen, die benachrichtigt werden, wenn die Ausführung dieses Auftrags beginnt und abgeschlossen wird, und wenn dieser Auftrag gelöscht wird. Als Standardverhalten werden keine E-Mails gesendet.
webhook_notifications WebhookNotifications Ein optionaler Satz von Systemzielen, die benachrichtigt werden sollen, wenn die Ausführung dieses Auftrags beginnt, abgeschlossen wird oder fehlschlägt.
notification_settings JobNotificationSettings Optionale Benachrichtigungseinstellungen, die beim Senden von Benachrichtigungen an jeden der email_notifications und webhook_notifications für diesen Auftrag verwendet werden.
timeout_seconds INT32 Ein optionales Timeout, das auf jede Ausführung dieses Auftrags angewendet wird. Als Standardverhalten ist kein Timeout festgelegt.
max_retries INT32 Eine optionale maximale Anzahl von Wiederholungsversuchen für eine nicht erfolgreiche Ausführung. Eine Ausführung wird als nicht erfolgreich betrachtet, falls „result_state“ FAILED lautet oder
INTERNAL_ERROR
life_cycle_state. Der Wert -1 steht für eine unbegrenzte Anzahl an Wiederholungsversuchen, der Wert 0 bedeutet, dass keine Wiederholungsversuche unternommen werden. Standardmäßig werden keine Wiederholungsversuche durchgeführt.
min_retry_interval_millis INT32 Ein optionales Mindestintervall in Millisekunden zwischen dem Beginn der fehlerhaften Ausführung und der nachfolgenden Wiederholungsausführung. Standardmäßig wird für fehlerhafte Ausführungen sofort ein erneuter Versuch unternommen.
retry_on_timeout BOOL Eine optionale Richtlinie, die angibt, ob ein Auftrag bei einem Timeout wiederholt werden soll. Standardmäßig wird einem Timeout kein neuer Versuch unternommen.
schedule CronSchedule Ein optionaler regelmäßiger Zeitplan für diesen Auftrag. Standardmäßig wird der Auftrag ausgeführt, wenn er durch Klicken auf Jetzt ausführen in der Benutzeroberfläche für Aufträge oder durch Senden einer API-Anforderung an runNow ausgelöst wird.
max_concurrent_runs INT32 Eine optionale maximal zulässige Anzahl von gleichzeitigen Ausführungen des Auftrags.

Legen Sie diesen Wert fest, wenn Sie mehrere Ausführungen desselben Auftrags gleichzeitig ausführen möchten. Dies ist beispielsweise nützlich, wenn Sie Ihren Auftrag in regelmäßigen Abständen auslösen und zulassen möchten, dass sich aufeinanderfolgende Ausführungen überschneiden, oder wenn Sie mehrere Ausführungen auslösen möchten, die sich durch ihre Eingabeparameter unterscheiden.

Diese Einstellung gilt nur für neue Ausführungen. Angenommen, die Parallelität des Auftrags beträgt 4 und es sind 4 gleichzeitig aktive Ausführungen vorhanden. Wenn Sie in diesem Fall die Parallelität auf 3 festlegen, wird keine der aktiven Ausführungen abgebrochen. Ab diesem Zeitpunkt werden jedoch neue Ausführungen übersprungen, sofern nicht weniger als 3 aktive Ausführungen vorhanden sind.

Dieser Wert darf nicht über 1000 liegen. Wenn Sie diesen Wert auf 0 festlegen, werden alle neuen Ausführungen übersprungen. Standardmäßig wird nur 1 aktive Ausführung zugelassen.

Antwortstruktur

Feldname Typ Beschreibung
job_id INT64 Der kanonische Bezeichner für den neu erstellten Auftrag.

Auflisten

Endpunkt HTTP-Methode
2.0/jobs/list GET

Führt alle Aufträgen auf.

Beispiel

Anforderung

curl --netrc --request GET \
https://<databricks-instance>/api/2.0/jobs/list \
| jq .

Ersetzen Sie <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.

In diesem Beispiel werden eine NETRC-Datei und jq verwendet.

response

{
  "jobs": [
    {
      "job_id": 1,
      "settings": {
        "name": "Nightly model training",
        "new_cluster": {
          "spark_version": "7.3.x-scala2.12",
          "node_type_id": "Standard_D3_v2",
          "num_workers": 10
        },
        "libraries": [
          {
            "jar": "dbfs:/my-jar.jar"
          },
          {
            "maven": {
              "coordinates": "org.jsoup:jsoup:1.7.2"
            }
          }
        ],
        "timeout_seconds": 100000000,
        "max_retries": 1,
        "schedule": {
          "quartz_cron_expression": "0 15 22 * * ?",
          "timezone_id": "America/Los_Angeles",
          "pause_status": "UNPAUSED"
        },
        "spark_jar_task": {
          "main_class_name": "com.databricks.ComputeModels"
        }
      },
      "created_time": 1457570074236
    }
  ]
}

Antwortstruktur

Feldname Typ Beschreibung
jobs Ein Job-Array Die Liste der Aufträge.

Löschen

Endpunkt HTTP-Methode
2.0/jobs/delete POST

Löschen Sie einen Auftrag, und senden Sie eine E-Mail an die in JobSettings.email_notificationsangegebenen Adressen. Es wird keine Aktion ausgeführt, wenn der Auftrag bereits entfernt wurde. Nachdem der Auftrag entfernt wurde, sind weder seine Details noch sein Verlauf in der Benutzeroberfläche oder der Auftrags-API sichtbar. Der Auftrag wird nach Beendigung dieser Anforderung garantiert entfernt. Ausführungen, die vor dem Empfang dieser Anforderung aktiv waren, bleiben jedoch möglicherweise aktiv. Sie werden asynchron beendet.

Beispiel

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/delete \
--data '{ "job_id": <job-id> }'

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> durch die ID des Auftrags, beispielsweise 123.

In diesem Beispiel wird eine NETRC-Datei verwendet.

Anforderungsstruktur

Feldname Typ Beschreibung
job_id INT64 Der kanonische Bezeichner des Auftrags, der gelöscht werden soll. Dies ist ein Pflichtfeld.

Get

Endpunkt HTTP-Methode
2.0/jobs/get GET

Hiermit werden Informationen zu einem einzelnen Auftrag abgerufen.

Beispiel

Anforderung

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/get?job_id=<job-id>' \
| jq .

Oder:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/get \
--data job_id=<job-id> \
| jq .

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> durch die ID des Auftrags, beispielsweise 123.

In diesem Beispiel werden eine NETRC-Datei und jq verwendet.

response

{
  "job_id": 1,
  "settings": {
    "name": "Nightly model training",
    "new_cluster": {
      "spark_version": "7.3.x-scala2.12",
      "node_type_id": "Standard_D3_v2",
      "num_workers": 10
    },
    "libraries": [
      {
        "jar": "dbfs:/my-jar.jar"
      },
      {
        "maven": {
          "coordinates": "org.jsoup:jsoup:1.7.2"
        }
      }
    ],
    "timeout_seconds": 100000000,
    "max_retries": 1,
    "schedule": {
      "quartz_cron_expression": "0 15 22 * * ?",
      "timezone_id": "America/Los_Angeles",
      "pause_status": "UNPAUSED"
    },
    "spark_jar_task": {
      "main_class_name": "com.databricks.ComputeModels"
    }
  },
  "created_time": 1457570074236
}

Anforderungsstruktur

Feldname Typ Beschreibung
job_id INT64 Der kanonische Bezeichner des Auftrags, zu dem Informationen abgerufen werden sollen. Dies ist ein Pflichtfeld.

Antwortstruktur

Feldname Typ Beschreibung
job_id INT64 Der kanonische Bezeichner für diesen Auftrag.
creator_user_name STRING Der Benutzername des Erstellers. Dieses Feld ist nicht in der Antwort enthalten, wenn der Benutzer gelöscht wurde.
settings JobSettings Einstellungen für diesen Auftrag und alle zugehörigen Ausführungen. Diese Einstellungen können mithilfe der Endpunkte zum Zurücksetzen oder Aktualisieren aktualisiert werden.
created_time INT64 Der Zeitpunkt in Epochenmillisekunden (Millisekunden seit dem 1.1.1970 UTC), zu dem dieser Auftrag erstellt wurde.

Zurücksetzen

Endpunkt HTTP-Methode
2.0/jobs/reset POST

Überschreiben Sie alle Einstellungen für einen bestimmten Auftrag. Verwenden Sie den Endpunkt zum Aktualisieren, um Auftragseinstellungen teilweise zu aktualisieren.

Beispiel

Durch diese Beispielanforderung wird Auftrag 2 identisch mit Auftrag 1 aus dem Beispiel zu Create.

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/reset \
--data @reset-job.json \
| jq .

reset-job.json:

{
  "job_id": 2,
  "new_settings": {
    "name": "Nightly model training",
    "new_cluster": {
      "spark_version": "7.3.x-scala2.12",
      "node_type_id": "Standard_D3_v2",
      "num_workers": 10
    },
    "libraries": [
      {
        "jar": "dbfs:/my-jar.jar"
      },
      {
        "maven": {
          "coordinates": "org.jsoup:jsoup:1.7.2"
        }
      }
    ],
    "timeout_seconds": 100000000,
    "max_retries": 1,
    "schedule": {
      "quartz_cron_expression": "0 15 22 * * ?",
      "timezone_id": "America/Los_Angeles",
      "pause_status": "UNPAUSED"
    },
    "spark_jar_task": {
      "main_class_name": "com.databricks.ComputeModels"
    }
  }
}

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.
  • Den Inhalt von reset-job.json durch Felder, die für Ihre Lösung geeignet sind.

In diesem Beispiel werden eine NETRC-Datei und jq verwendet.

Anforderungsstruktur

Feldname Typ Beschreibung
job_id INT64 Der kanonische Bezeichner des Auftrags, der zurückgesetzt werden soll. Dies ist ein Pflichtfeld.
new_settings JobSettings Die neuen Einstellungen des Auftrags. Diese Einstellungen ersetzen die alten Einstellungen vollständig.

Änderungen am Feld JobSettings.timeout_seconds werden auf aktive Ausführungen angewendet. Änderungen an anderen Feldern gelten nur für künftige Ausführungen.

Aktualisieren

Endpunkt HTTP-Methode
2.0/jobs/update POST

Fügen Sie einem bestehenden Auftrag bestimmte Einstellungen hinzu, ändern oder entfernen Sie sie. Verwenden Sie den Endpunkt Reset, um alle Auftragseinstellungen zu überschreiben.

Beispiel

Diese Beispielanforderung entfernt Bibliotheken und fügt Einstellungen für E-Mail-Benachrichtigungen zu Auftrag 1 hinzu, der im Beispiel Create definiert wurde.

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/update \
--data @update-job.json \
| jq .

update-job.json:

{
  "job_id": 1,
  "new_settings": {
    "existing_cluster_id": "1201-my-cluster",
    "email_notifications": {
      "on_start": [ "someone@example.com" ],
      "on_success": [],
      "on_failure": []
    }
  },
  "fields_to_remove": ["libraries"]
}

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.
  • Den Inhalt von update-job.json durch Felder, die für Ihre Lösung geeignet sind.

In diesem Beispiel werden eine NETRC-Datei und jq verwendet.

Anforderungsstruktur

Feldname Typ Beschreibung
job_id INT64 Der kanonische Bezeichner des Auftrags, der aktualisiert werden soll. Dies ist ein Pflichtfeld.
new_settings JobSettings Die neuen Einstellungen für den Auftrag.

Felder der obersten Ebene, die in new_settings angegeben sind, mit Ausnahme von Arrays, werden vollständig ersetzt. Arrays werden basierend auf den jeweiligen Schlüsselfeldern zusammengeführt, wie z. B. task_key oder
job_cluster_key und Arrayeinträge mit demselben Schlüssel werden vollständig ersetzt. Mit Ausnahme der Arrayzusammenführung werden teilweise geschachtelte Felder nicht unterstützt.

Änderungen am Feld JobSettings.timeout_seconds werden auf aktive Ausführungen angewendet. Änderungen an anderen Feldern gelten nur für zukünftige Ausführungen.
fields_to_remove Ein Array von STRING Entfernen Sie Felder der obersten Ebene in den Auftragseinstellungen. Das Entfernen geschachtelter Felder wird nicht unterstützt, mit Ausnahme von Einträgen aus den tasks- und job_clusters-Arrays. Das folgende Argument ist z. B. ein gültiges Argument für dieses Feld:
["libraries", "schedule", "tasks/task_1", "job_clusters/Default"]

Dieses Feld ist optional.

Jetzt ausführen

Wichtig

  • Ein Arbeitsbereich ist auf 1000 gleichzeitige Auftragsausführungen beschränkt. Wenn Sie eine Ausführung anfordern, die nicht sofort gestartet werden kann, wird eine 429 Too Many Requests-Antwort zurückgegeben.
  • Die Anzahl von Aufträgen, die von einem Arbeitsbereich innerhalb einer Stunde erstellt werden können, ist auf 10000 beschränkt (einschließlich „runs submit“). Diese Beschränkung wirkt sich auch auf Aufträge aus, die mit den REST-API- und Notebook-Workflows erstellt wurden.
Endpunkt HTTP-Methode
2.0/jobs/run-now POST

Führen Sie jetzt einen Auftrag aus, und geben Sie die run_id der ausgelösten Ausführung zurück.

Tipp

Wenn Sie Create zusammen mit Run now aufrufen, können Sie stattdessen den Endpunkt Runs submit verwenden, mit dem Sie Ihre Workload direkt übermitteln können, ohne einen Auftrag erstellen zu müssen.

Beispiel

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/run-now \
--data @run-job.json \
| jq .

run-job.json:

Beispielanforderung für einen Notebookauftrag:

{
  "job_id": 1,
  "notebook_params": {
    "name": "john doe",
    "age": "35"
  }
}

Beispielanforderung für einen JAR-Auftrag:

{
  "job_id": 2,
  "jar_params": [ "john doe", "35" ]
}

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.
  • Den Inhalt von run-job.json durch Felder, die für Ihre Lösung geeignet sind.

In diesem Beispiel werden eine NETRC-Datei und jq verwendet.

Anforderungsstruktur

Feldname Typ Beschreibung
job_id INT64
jar_params Ein Array von STRING Eine Liste mit Parametern für Aufträge mit JAR-Aufgaben, z. B. "jar_params": ["john doe", "35"]. Die Parameter werden verwendet, um die Hauptfunktion (main) der Hauptklasse aufzurufen, die in der Spark-JAR-Aufgabe angegeben ist. Sofern nicht für run-now angegeben, wird standardmäßig eine leere Liste verwendet. „jar_params“ kann nicht zusammen mit „notebook_params“ angegeben werden. Die JSON-Darstellung dieses Feldes (d. h. {"jar_params":["john doe","35"]}) darf 10.000 Bytes nicht überschreiten.
notebook_params Eine ParamPair-Zuordnung Eine Zuordnung von Schlüsseln zu Werten für Aufträge mit Notebook-Aufgabe, z. B.
"notebook_params": {"name": "john doe", "age": "35"}. Die Zuordnung wird an das Notebook übergeben und ist über die Funktion dbutils.widgets.get zugänglich.

Sofern nicht für run-now angegeben, verwendet die ausgelöste Ausführung die Basisparameter des Auftrags.

Sie können „notebook_params“ nicht zusammen mit „jar_params“ angeben.

Die JSON-Darstellung dieses Feldes (d. h.
{"notebook_params":{"name":"john doe","age":"35"}}) darf 10.000 Bytes nicht überschreiten.
python_params Ein Array von STRING Eine Liste mit Parametern für Aufträge mit Python-Aufgaben, z. B. "python_params": ["john doe", "35"]. Die Parameter werden als Befehlszeilenparameter an die Python-Datei übergeben. Sofern für run-now angegeben, werden die in den Auftragseinstellungen angegebenen Parameter überschrieben. Die JSON-Darstellung dieses Feldes (d. h. {"python_params":["john doe","35"]}) darf 10.000 Bytes nicht überschreiten.
spark_submit_params Ein Array von STRING Eine Liste mit Parametern für Aufträge mit spark submit-Aufgaben, z. B.
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. Die Parameter werden als Befehlszeilenparameter an das spark-submit-Skript übergeben. Sofern für run-now angegeben, werden die in den Auftragseinstellungen angegebenen Parameter überschrieben. Die JSON-Darstellung dieses Feldes darf 10.000 Bytes nicht überschreiten.
idempotency_token STRING Ein optionales Token, um die Idempotenz von Anforderungen zur Auftragsausführung zu gewährleisten. Wenn bereits eine Ausführung mit dem angegebenen Token vorhanden ist, erstellt die Anforderung keine neue Ausführung, sondern gibt stattdessen die ID der vorhandenen Ausführung zurück. Wenn eine Ausführung mit dem bereitgestellten Token gelöscht wird, wird ein Fehler zurückgegeben.

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

Dieses Token muss mindestens 64 Zeichen lang sein.

Weitere Informationen finden Sie unter Gewährleisten der Idempotenz für Aufträge.

Antwortstruktur

Feldname Typ Beschreibung
run_id INT64 Die global eindeutige ID der neu ausgelösten Ausführung.
number_in_job INT64 Die Sequenznummer dieser Ausführung unter allen Ausführungen des Auftrags.

Führt „Übermitteln“ aus

Wichtig

  • Ein Arbeitsbereich ist auf 1000 gleichzeitige Auftragsausführungen beschränkt. Wenn Sie eine Ausführung anfordern, die nicht sofort gestartet werden kann, wird eine 429 Too Many Requests-Antwort zurückgegeben.
  • Die Anzahl von Aufträgen, die von einem Arbeitsbereich innerhalb einer Stunde erstellt werden können, ist auf 10000 beschränkt (einschließlich „runs submit“). Diese Beschränkung wirkt sich auch auf Aufträge aus, die mit den REST-API- und Notebook-Workflows erstellt wurden.
Endpunkt HTTP-Methode
2.0/jobs/runs/submit POST

Übermitteln Sie eine einmalige Ausführung. Mit diesem Endpunkt können Sie eine Workload direkt übermitteln, ohne einen Auftrag zu erstellen. Verwenden Sie die jobs/runs/get-API, um den Ausführungsstatus zu überprüfen, nachdem der Auftrag übermittelt wurde.

Beispiel

Anforderung

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/submit \
--data @submit-job.json \
| jq .

submit-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
  },
  "libraries": [
    {
      "jar": "dbfs:/my-jar.jar"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2"
      }
    }
  ],
  "spark_jar_task": {
    "main_class_name": "com.databricks.ComputeModels"
  }
}

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.
  • Den Inhalt von submit-job.json durch Felder, die für Ihre Lösung geeignet sind.

In diesem Beispiel werden eine NETRC-Datei und jq verwendet.

response

{
  "run_id": 123
}

Anforderungsstruktur

Wichtig

  • Wenn Sie einen Auftrag in einem neuen Auftragscluster ausführen, wird der Auftrag als (automatisierte) Jobs Compute-Workload behandelt, für die der Jobs Compute-Preis gilt.
  • Wenn Sie einen Auftrag in einem vorhandenen All-Purpose-Cluster ausführen, wird er als (interaktive) All-Purpose Compute-Workload behandelt, für die die All-Purpose Compute-Preise gelten.
Feldname Typ BESCHREIBUNG
existing_cluster_id ODER new_cluster STRING ODER NewCluster „existing_cluster_id“ gibt die ID eines vorhandenen Clusters an, der für alle Ausführungen dieses Auftrags verwendet wird. Wenn Sie Aufträge für einen vorhandenen Cluster ausführen, müssen Sie den Cluster möglicherweise manuell neu starten, wenn er nicht mehr reagiert. Es wird empfohlen, Aufträge in neuen Clustern auszuführen, um die Zuverlässigkeit zu erhöhen.

„new_cluster“ gibt eine Beschreibung eines Clusters an, der für jede Ausführung erstellt wird.

Wenn Sie PipelineTask angeben, kann dieses Feld leer sein.
notebook_task ODER spark_jar_task ODER
spark_python_task ODER spark_submit_task ODER
pipeline_task ODER run_job_task
NotebookTask ODER SparkJarTask ODER SparkPythonTask ODER SparkSubmitTask ODER PipelineTask ODER RunJobTask „notebook_task“ gibt an, dass dieser Auftrag ein Notebook ausführen soll. Dieses Feld kann nicht in Verbindung mit „spark_jar_task“ verwendet werden.

„spark_jar_task“ gibt an, dass dieser Auftrag eine JAR ausführen soll.

„spark_python_task“ gibt an, dass dieser Auftrag eine Python-Datei ausführen soll.

„spark_submit_task“ gibt an, dass dieser Auftrag über das spark-submit-Skript gestartet werden soll.

„pipeline_task“ gibt an, dass dieser Auftrag eine Delta Live Tables-Pipeline ausführen soll.

„run_job_task“ gibt an, dass dieser Auftrag einen anderen Auftrag ausführen soll.
run_name STRING Ein optionaler Name für die Ausführung. Der Standardwert ist Untitled.
webhook_notifications WebhookNotifications Ein optionaler Satz von Systemzielen, die benachrichtigt werden sollen, wenn die Ausführung dieses Auftrags beginnt, abgeschlossen wird oder fehlschlägt.
notification_settings JobNotificationSettings Optionale Benachrichtigungseinstellungen, die beim Senden von Benachrichtigungen an jede der webhook_notifications für diese Ausführung verwendet werden.
libraries Ein Array von Library (Bibliothek) Eine optionale Liste der Bibliotheken, die in dem Cluster installiert werden, der den Auftrag ausführen wird. Der Standardwert ist eine leere Liste.
timeout_seconds INT32 Ein optionales Timeout, das auf jede Ausführung dieses Auftrags angewendet wird. Als Standardverhalten ist kein Timeout festgelegt.
idempotency_token STRING Ein optionales Token, um die Idempotenz von Anforderungen zur Auftragsausführung zu gewährleisten. Wenn bereits eine Ausführung mit dem angegebenen Token vorhanden ist, erstellt die Anforderung keine neue Ausführung, sondern gibt stattdessen die ID der vorhandenen Ausführung zurück. Wenn eine Ausführung mit dem bereitgestellten Token gelöscht wird, wird ein Fehler zurückgegeben.

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

Dieses Token muss mindestens 64 Zeichen lang sein.

Weitere Informationen finden Sie unter Gewährleisten der Idempotenz für Aufträge.

Antwortstruktur

Feldname Typ Beschreibung
run_id INT64 Der kanonische Bezeichner für die neu übermittelte Ausführung.

Führt „Auflisten“ aus

Endpunkt HTTP-Methode
2.0/jobs/runs/list GET

Listen Sie die Ausführungen in absteigender Reihenfolge nach Startzeit auf.

Hinweis

Die Ausführungen werden nach 60 Tagen automatisch entfernt. Wenn Sie auch nach 60 Tagen noch auf die Ausführungen zurückgreifen möchten, sollten Sie alte Ausführungsergebnisse speichern, bevor sie ablaufen. Informationen zum Exportieren über die Benutzeroberfläche finden Sie unter Exportieren von Auftragslaufergebnissen. Informationen zum Export mithilfe der Auftrags-API finden Sie unter Runs export.

Beispiel

Anforderung

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/list?job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .

Oder:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/list \
--data 'job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> durch die ID des Auftrags, beispielsweise 123.
  • <true-false> durch true oder false.
  • <offset> durch den offset-Wert.
  • <limit> durch den limit-Wert.
  • <run-type> durch den run_type-Wert.

In diesem Beispiel werden eine NETRC-Datei und jq verwendet.

response

{
  "runs": [
    {
      "job_id": 1,
      "run_id": 452,
      "number_in_job": 5,
      "state": {
        "life_cycle_state": "RUNNING",
        "state_message": "Performing action"
      },
      "task": {
        "notebook_task": {
          "notebook_path": "/Users/donald@duck.com/my-notebook"
        }
      },
      "cluster_spec": {
        "existing_cluster_id": "1201-my-cluster"
      },
      "cluster_instance": {
        "cluster_id": "1201-my-cluster",
        "spark_context_id": "1102398-spark-context-id"
      },
      "overriding_parameters": {
        "jar_params": ["param1", "param2"]
      },
      "start_time": 1457570074236,
      "end_time": 1457570075149,
      "setup_duration": 259754,
      "execution_duration": 3589020,
      "cleanup_duration": 31038,
      "run_duration": 3879812,
      "trigger": "PERIODIC"
    }
  ],
  "has_more": true
}

Anforderungsstruktur

Feldname Typ BESCHREIBUNG
active_only ODER completed_only BOOL ODER BOOL Wenn „active_only“ den Wert true aufweist, werden nur aktive Ausführungen in die Ergebnisse aufgenommen. Andernfalls werden sowohl aktive als auch abgeschlossene Ausführungen aufgelistet. Eine aktive Ausführung ist eine Ausführung im Zustand PENDING, RUNNING oder TERMINATINGRunLifecycleState. Dieses Feld darf nicht true lauten, wenn „completed_only“ den Wert true aufweist.

Wenn „completed_only“ den Wert true aufweist, werden nur abgeschlossene Ausführungen in die Ergebnisse aufgenommen. Andernfalls werden sowohl aktive als auch abgeschlossene Ausführungen aufgelistet. Dieses Feld darf nicht true lauten, wenn „active_only“ den Wert true aufweist.
job_id INT64 Der Auftrag, für den Ausführungen aufgelistet werden sollen. Wird dieser Wert nicht angegeben, listet der Auftragsdienst die Ausführungen aller Aufträge auf.
offset INT32 Der Offset der ersten Ausführung, die zurückgegeben werden soll, relativ zur letzten Ausführung.
limit INT32 Die Anzahl von Ausführungen, die zurückgegeben werden sollen. Dieser Wert sollte größer als 0 und kleiner als 1000 sein. Der Standardwert ist 20. Wenn eine Anforderung als Limit 0 angibt, verwendet der Dienst stattdessen den maximalen Grenzwert.
run_type STRING Der Typ der Ausführungen, die zurückgegeben werden sollen. Eine Beschreibung der Ausführungstypen finden Sie unter Run.

Antwortstruktur

Feldname Typ Beschreibung
runs Ein Run-Array Eine Liste der Ausführungen, von der zuletzt gestarteten bis zur letzten Ausführung.
has_more BOOL Bei Festlegung auf TRUE werden weitere Ausführungen aufgelistet, die dem angegebenen Filter entsprechen.

Führt „Abrufen“ aus

Endpunkt HTTP-Methode
2.0/jobs/runs/get GET

Rufen Sie die Metadaten einer Ausführung ab.

Hinweis

Die Ausführungen werden nach 60 Tagen automatisch entfernt. Wenn Sie auch nach 60 Tagen noch auf die Ausführungen zurückgreifen möchten, sollten Sie alte Ausführungsergebnisse speichern, bevor sie ablaufen. Informationen zum Exportieren über die Benutzeroberfläche finden Sie unter Exportieren von Auftragslaufergebnissen. Informationen zum Export mithilfe der Auftrags-API finden Sie unter Runs export.

Beispiel

Anforderung

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get?run_id=<run-id>' \
| jq .

Oder:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get \
--data run_id=<run-id> \
| jq .

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> durch die ID der Ausführung, z. B. 123.

In diesem Beispiel werden eine NETRC-Datei und jq verwendet.

response

{
  "job_id": 1,
  "run_id": 452,
  "number_in_job": 5,
  "state": {
    "life_cycle_state": "RUNNING",
    "state_message": "Performing action"
  },
  "task": {
    "notebook_task": {
      "notebook_path": "/Users/someone@example.com/my-notebook"
    }
  },
  "cluster_spec": {
    "existing_cluster_id": "1201-my-cluster"
  },
  "cluster_instance": {
    "cluster_id": "1201-my-cluster",
    "spark_context_id": "1102398-spark-context-id"
  },
  "overriding_parameters": {
    "jar_params": ["param1", "param2"]
  },
  "start_time": 1457570074236,
  "end_time": 1457570075149,
  "setup_duration": 259754,
  "execution_duration": 3589020,
  "cleanup_duration": 31038,
  "run_duration": 3879812,
  "trigger": "PERIODIC"
}

Anforderungsstruktur

Feldname Typ Beschreibung
run_id INT64 Der kanonische Bezeichner der Ausführung, für die Metadaten abgerufen werden sollen. Dies ist ein Pflichtfeld.

Antwortstruktur

Feldname Typ Beschreibung
job_id INT64 Der kanonische Bezeichner des Auftrags, der diese Ausführung enthält.
run_id INT64 Der kanonische Bezeichner der Ausführung. Diese ID ist für alle Ausführungen sämtlicher Aufträge eindeutig.
number_in_job INT64 Die Sequenznummer dieser Ausführung unter allen Ausführungen des Auftrags. Dieser Wert beginnt bei 1.
original_attempt_run_id INT64 Wenn es sich bei dieser Ausführung um die Wiederholung eines früheren Versuchs handelt, enthält dieses Feld den run_id-Wert des ursprünglichen Versuchs, andernfalls ist er mit „run_id“ identisch.
state RunState Der Ergebnis- und Lebenszyklusstatus der Ausführung.
schedule CronSchedule Der Cron-Zeitplan, der diese Ausführung ausgelöst hat, wenn sie vom Scheduler für die regelmäßige Ausführung ausgelöst wurde.
task JobTask Die Aufgabe, die von der Ausführung ausgeführt wird (sofern zutreffend).
cluster_spec ClusterSpec Eine Momentaufnahme der Clusterspezifikation des Auftrags zum Zeitpunkt der Ausführungserstellung.
cluster_instance ClusterInstance Der für diese Ausführung verwendete Cluster. Wenn die Ausführung einen neuen Cluster verwenden soll, wird dieses Feld festgelegt, sobald der Auftragsdienst einen Cluster für die Ausführung angefordert hat.
overriding_parameters RunParameters Die für diese Ausführung verwendeten Parameter.
start_time INT64 Der Zeitpunkt in Epochenmillisekunden (Millisekunden seit dem 1.1.1970 UTC), zu dem dieser Auftrag gestartet wurde. Dies muss nicht unbedingt der Zeitpunkt sein, an dem die Ausführung der Auftragsaufgabe beginnt. Wenn der Auftrag beispielsweise in einem neuen Cluster ausgeführt werden soll, ist dies der Zeitpunkt, zu dem der Aufruf zur Erstellung des Clusters erfolgt.
end_time INT64 Der Zeitpunkt in Epochenmillisekunden (Millisekunden seit dem 1.1.1970 UTC), zu dem diese Ausführung beendet wurde. Dieses Feld wird auf 0 festgelegt, wenn der Auftrag noch ausgeführt wird.
setup_duration INT64 Die Zeit in Millisekunden, die zum Einrichten des Clusters benötigt wurde. Bei Ausführungen in neuen Clustern ist dies die Zeit zum Erstellen des Clusters, bei Ausführungen in vorhandenen Clustern sollte dieser Zeitraum sehr kurz sein. Die Gesamtdauer der Ausführung ist die Summe der setup_duration,
execution_duration und der cleanup_duration. Das Feld setup_duration ist für Auftragsausführungen mit mehreren Aufgaben auf 0 festgelegt. Die Gesamtdauer einer Auftragsausführung mit mehreren Aufgaben ist der Wert des Felds
run_duration.
execution_duration INT64 Die Zeit in Millisekunden, die für die Ausführung der Befehle in der JAR oder im Notebook benötigt wurde, bis zum Abschluss, einem Fehlschlag, einem Timeout, einem Abbruch oder einem unerwarteten Fehler. Die Gesamtdauer der Ausführung ist die Summe der setup_duration, execution_duration und der
cleanup_duration. Das Feld execution_duration ist für Auftragsausführungen mit mehreren Aufgaben auf 0 festgelegt. Die Gesamtdauer einer Auftragsausführung mit mehreren Aufgaben ist der Wert des Felds run_duration.
cleanup_duration INT64 Die Zeit in Millisekunden, die zum Beenden des Clusters und zum Bereinigen alle zugehörigen Artefakte benötigt wurde. Die Gesamtdauer der Ausführung ist die Summe der setup_duration, execution_duration und der cleanup_duration. Das Feld cleanup_duration ist für Auftragsausführungen mit mehreren Aufgaben auf 0 festgelegt. Die Gesamtdauer einer Auftragsausführung mit mehreren Aufgaben ist der Wert des Felds run_duration.
run_duration INT64 Die Zeit in Millisekunden, die für den Abschluss der Ausführung des Auftrags und alle Reparaturen benötigt wurde. Dieses Feld ist nur für Auftragsausführungen mit mehreren Aufgaben und nicht für Aufgabenausführungen festgelegt. Die Dauer einer Aufgabenausführung ist die Summe der
setup_duration, execution_duration und der cleanup_duration.
trigger TriggerType Der Typ des Triggers, der diese Ausführung ausgelöst hat.
creator_user_name STRING Der Benutzername des Erstellers. Dieses Feld ist nicht in der Antwort enthalten, wenn der Benutzer gelöscht wurde.
run_page_url STRING Die URL zur Detailseite der Ausführung.

Führt „Export“ aus

Endpunkt HTTP-Methode
2.0/jobs/runs/export GET

Exportieren Sie die Auftragsausführungsaufgabe, und rufen Sie sie ab.

Hinweis

Nur Notebook-Ausführungen können im HTML-Format exportiert werden. Beim Exportieren anderer Typen kommt es zu einem Fehler.

Beispiel

Anforderung

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/export?run_id=<run-id>' \
| jq .

Oder:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/export \
--data run_id=<run-id> \
| jq .

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> durch die ID der Ausführung, z. B. 123.

In diesem Beispiel werden eine NETRC-Datei und jq verwendet.

response

{
  "views": [ {
    "content": "<!DOCTYPE html><html><head>Head</head><body>Body</body></html>",
    "name": "my-notebook",
    "type": "NOTEBOOK"
  } ]
}

Laden Sie dieses Python-Skript herunter, und führen Sie es aus, um das HTML-Notebook aus der JSON-Antwort zu extrahieren.

Hinweis

Der Notebook-Text im __DATABRICKS_NOTEBOOK_MODEL-Objekt ist codiert.

Anforderungsstruktur

Feldname Typ Beschreibung
run_id INT64 Der kanonische Bezeichner für die Ausführung. Dieses Feld ist ein Pflichtfeld.
views_to_export ViewsToExport Gibt die zu exportierenden Ansichten an (CODE, DASHBOARDS oder ALL). Der Standardwert lautet CODE.

Antwortstruktur

Feldname Typ Beschreibung
views Ein ViewItem-Array Der exportierte Inhalt im HTML-Format (einer für jedes Ansichtselement).

Führt „Abbrechen“ aus

Endpunkt HTTP-Methode
2.0/jobs/runs/cancel POST

Bricht eine Auftragsausführung ab. Da die Ausführung asynchron abgebrochen wird, kann die Ausführung noch aktiv sein, nachdem diese Anforderung abgeschlossen wurde. Die Ausführung wird in Kürze beendet. Wenn sich die Ausführung bereits in einem finalen life_cycle_statebefindet, ist diese Methode nicht anwendbar.

Dieser Endpunkt überprüft, ob der Parameter run_id gültig ist, und gibt für ungültige Parameter den HTTP-Statuscode 400 zurück.

Beispiel

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel \
--data '{ "run_id": <run-id> }'

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> durch die ID der Ausführung, z. B. 123.

In diesem Beispiel wird eine NETRC-Datei verwendet.

Anforderungsstruktur

Feldname Typ Beschreibung
run_id INT64 Der kanonische Bezeichner der abzubrechenden Ausführung. Dies ist ein Pflichtfeld.

Führt „Alle abbrechen“ aus

Endpunkt HTTP-Methode
2.0/jobs/runs/cancel-all POST

Bricht alle aktiven Ausführung eines Auftrags ab. Da die Ausführung asynchron abgebrochen wird, verhindert dies nicht, dass neue Ausführung gestartet werden.

Dieser Endpunkt überprüft, ob der Parameter job_id gültig ist, und gibt für ungültige Parameter den HTTP-Statuscode 400 zurück.

Beispiel

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel-all \
--data '{ "job_id": <job-id> }'

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> durch die ID des Auftrags, beispielsweise 123.

In diesem Beispiel wird eine NETRC-Datei verwendet.

Anforderungsstruktur

Feldname Typ Beschreibung
job_id INT64 Der kanonische Bezeichner des Auftrags, für den alle Ausführungen abgebrochen werden sollen. Dies ist ein Pflichtfeld.

Führt „Ausgabe abrufen“ aus

Endpunkt HTTP-Methode
2.0/jobs/runs/get-output GET

Rufen Sie die Ausgabe und die Metadaten einer einzelnen Aufgabenausführung ab. Wenn eine Notebook-Aufgabe über den Aufruf dbutils.notebook.exit() einen Wert zurückgibt, können Sie diesen Endpunkt verwenden, um den Wert abzurufen. Azure Databricks beschränkt diese API auf die Rückgabe der ersten 5 MB der Ausgabe. Um ein größeres Ergebnis zurückzugeben, können Sie Auftragsergebnisse in einem Cloudspeicherdienst speichern.

Dieser Endpunkt überprüft, ob der Parameter run_id gültig ist, und gibt für ungültige Parameter den HTTP-Statuscode 400 zurück.

Die Ausführungen werden nach 60 Tagen automatisch entfernt. Wenn Sie auch nach 60 Tagen noch auf die Ausführungen zurückgreifen möchten, sollten Sie alte Ausführungsergebnisse speichern, bevor sie ablaufen. Informationen zum Exportieren über die Benutzeroberfläche finden Sie unter Exportieren von Auftragslaufergebnissen. Informationen zum Export mithilfe der Auftrags-API finden Sie unter Runs export.

Beispiel

Anforderung

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get-output?run_id=<run-id>' \
| jq .

Oder:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get-output \
--data run_id=<run-id> \
| jq .

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> durch die ID der Ausführung, z. B. 123.

In diesem Beispiel werden eine NETRC-Datei und jq verwendet.

response

{
  "metadata": {
    "job_id": 1,
    "run_id": 452,
    "number_in_job": 5,
    "state": {
      "life_cycle_state": "TERMINATED",
      "result_state": "SUCCESS",
      "state_message": ""
    },
    "task": {
      "notebook_task": {
        "notebook_path": "/Users/someone@example.com/my-notebook"
      }
    },
    "cluster_spec": {
      "existing_cluster_id": "1201-my-cluster"
    },
    "cluster_instance": {
      "cluster_id": "1201-my-cluster",
      "spark_context_id": "1102398-spark-context-id"
    },
    "overriding_parameters": {
      "jar_params": ["param1", "param2"]
    },
    "start_time": 1457570074236,
    "setup_duration": 259754,
    "execution_duration": 3589020,
    "cleanup_duration": 31038,
    "run_duration": 3879812,
    "trigger": "PERIODIC"
  },
  "notebook_output": {
    "result": "the maybe truncated string passed to dbutils.notebook.exit()"
  }
}

Anforderungsstruktur

Feldname Typ Beschreibung
run_id INT64 Der kanonische Bezeichner für die Ausführung. Bei einem Auftrag mit mehreren Aufgaben ist dies die Ausführungs-ID (run_id) einer Aufgabenausführung. Weitere Informationen finden Sie unter Runs get output. Dies ist ein Pflichtfeld.

Antwortstruktur

Feldname Typ BESCHREIBUNG
notebook_output ODER error NotebookOutput ODER STRING Bei Festlegung von „notebook_output“ ist dies die Ausgabe einer Notebookaufgabe (falls verfügbar). Eine Notebookaufgabe, die ohne Aufruf beendet wird (entweder erfolgreich oder mit einem Fehler).
dbutils.notebook.exit() wird als leere Ausgabe betrachtet. Dieses Feld wird festgelegt, aber sein Ergebniswert ist leer.

Bei einem Fehler wird über eine Fehlermeldung angegeben, warum die Ausgabe nicht verfügbar ist. Die Nachricht ist unstrukturiert, und ihr genaues Format kann sich ändern.
metadata Run Alle Details der Ausführung mit Ausnahme der Ausgabe.

Führt „Löschen“ aus

Endpunkt HTTP-Methode
2.0/jobs/runs/delete POST

Löschen Sie eine nicht aktive Ausführung. Gibt einen Fehler zurück, wenn die Ausführung aktiv ist.

Beispiel

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/delete \
--data '{ "run_id": <run-id> }'

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> durch die ID der Ausführung, z. B. 123.

In diesem Beispiel wird eine NETRC-Datei verwendet.

Anforderungsstruktur

Feldname Typ Beschreibung
run_id INT64 Der kanonische Bezeichner der Ausführung, für die Metadaten abgerufen werden sollen.

Datenstrukturen

Inhalt dieses Abschnitts:

ABFSSStorageInfo

Azure Data Lake Storage (ADLS)-Speicherinformationen.

Feldname Typ Beschreibung
destination STRING Ziel der Datei. Beispiel: abfss://...

AutoScale

Bereich, der die mindestens erforderliche und die maximal zulässige Anzahl der Clusterworker definiert.

Feldname Typ Beschreibung
min_workers INT32 Die mindestens erforderliche Anzahl von Workern, auf die der Cluster herunterskaliert werden kann, wenn er nicht ausgelastet ist. Dies ist auch die anfängliche Anzahl von Workern, über die der Cluster nach der Erstellung verfügt.
max_workers INT32 Die maximal zulässige Anzahl von Workern, auf die der Cluster hochskaliert werden kann, wenn er überlastet ist. „max_workers“ muss streng größer sein als „min_workers“.

AzureAttributes

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

Feldname Typ Beschreibung
first_on_demand INT32 Die ersten first_on_demand-Knoten des Clusters werden auf bedarfsgesteuerten Instanzen platziert. Dieser Wert muss größer als 0 sein, da sonst bei der Validierung der Clustererstellung ein Fehler auftritt. Wenn dieser Wert größer oder gleich der aktuellen Clustergröße ist, werden alle Knoten auf bedarfsgesteuerten Instanzen platziert. Wenn dieser Wert kleiner als die aktuelle Clustergröße ist, werden first_on_demand-Knoten auf bedarfsgesteuerten Instanzen platziert, und der Rest wird auf Verfügbarkeitsinstanzen platziert. Dieser Wert wirkt sich nicht auf die Clustergröße aus und kann während der Lebensdauer eines Clusters nicht geändert werden.
availability AzureAvailability Verfügbarkeitstyp, der für alle Knoten nach den first_on_demand-Knoten verwendet wird.
spot_bid_max_price DOUBLE Der maximale Angebotspreis, der für Azure-Spot-Instanzen verwendet wird. Sie können diesen Wert auf eine Summe festlegen, die größer oder gleich dem aktuellen Spot-Preis ist. Sie können dies auch auf -1 (Standardeinstellung) festlegen, was angibt, dass die Instanz nicht auf Grundlage des Preises entfernt werden kann. Der Preis für die Instanz entspricht dem aktuellen Preis für Spot-Instanzen oder dem Preis für eine Standardinstanz. Sie können den Preisverlauf und Entfernungsraten im Azure-Portal anzeigen.

AzureAvailability

Das Verhalten des Verfügbarkeitstyps der Azure-Instanz.

Type Beschreibung
SPOT_AZURE Damit werden Spot-Instanzen verwendet.
ON_DEMAND_AZURE Damit werden bedarfsgesteuerte Instanzen verwendet.
SPOT_WITH_FALLBACK_AZURE Verwenden Sie vorzugsweise Spot-Instanzen, greifen Sie jedoch auf bedarfsgesteuerte Instanzen zurück, wenn keine Spot-Instanzen erworben werden können (z. B. wenn die Azure-Spot-Preise zu hoch oder die Kontingente erschöpft sind). Gilt nicht für die Poolverfügbarkeit.

ClusterInstance

Bezeichner für den von einer Ausführung verwendeten Cluster und Spark-Kontext. Diese beiden Werte identifizieren gemeinsamen einen Ausführungskontext über den gesamten Zeitraum.

Feldname Typ Beschreibung
cluster_id STRING Der kanonische Bezeichner für den Cluster, der von einer Ausführung verwendet wird. Dieses Feld ist für Ausführungen in vorhandenen Clustern immer verfügbar. Bei Ausführungen in neuen Clustern ist das Feld verfügbar, sobald der Cluster erstellt wurde. Dieser Wert kann zum Anzeigen von Protokollen verwendet werden, indem Sie zu /#setting/sparkui/$cluster_id/driver-logs navigieren. Die Protokolle stehen nach Abschluss der Ausführung weiterhin zur Verfügung.

Dieses Feld ist nicht in der Antwort enthalten, wenn der Bezeichner noch nicht verfügbar ist.
spark_context_id STRING Der kanonische Bezeichner für den Spark-Kontext, der von einer Ausführung verwendet wird. Dieses Feld wird aufgefüllt, sobald die Ausführung beginnt. Dieser Wert kann verwendet werden, um die Spark-Benutzeroberfläche anzuzeigen, indem Sie zu /#setting/sparkui/$cluster_id/$spark_context_idnavigieren. Die Spark-Benutzeroberfläche steht nach Abschluss der Ausführung weiterhin zur Verfügung.

Dieses Feld ist nicht in der Antwort enthalten, wenn der Bezeichner noch nicht verfügbar ist.

ClusterLogConf

Pfad zum Clusterprotokoll.

Feldname Typ Beschreibung
dbfs DbfsStorageInfo DBFS-Speicherort des Clusterprotokolls. Das Ziel muss angegeben werden. Ein auf ein Objekt angewendeter
{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

ClusterSpec

Wichtig

  • Wenn Sie einen Auftrag in einem neuen Auftragscluster ausführen, wird der Auftrag als (automatisierte) Jobs Compute-Workload behandelt, für die der Jobs Compute-Preis gilt.
  • Wenn Sie einen Auftrag in einem vorhandenen All-Purpose-Cluster ausführen, wird er als (interaktive) All-Purpose Compute-Workload behandelt, für die die All-Purpose Compute-Preise gelten.
Feldname Typ BESCHREIBUNG
existing_cluster_id ODER new_cluster STRING ODER NewCluster „existing_cluster_id“ gibt die ID eines vorhandenen Clusters an, der für alle Ausführungen dieses Auftrags verwendet wird. Wenn Sie Aufträge für einen vorhandenen Cluster ausführen, müssen Sie den Cluster möglicherweise manuell neu starten, wenn er nicht mehr reagiert. Es wird empfohlen, Aufträge in neuen Clustern auszuführen, um die Zuverlässigkeit zu erhöhen.

„new_cluster“ gibt eine Beschreibung eines Clusters an, der für jede Ausführung erstellt wird.

Wenn Sie PipelineTask angeben, kann dieses Feld leer sein.
libraries Ein Array von Library (Bibliothek) Eine optionale Liste der Bibliotheken, die in dem Cluster installiert werden, der den Auftrag ausführen wird. Der Standardwert ist eine leere Liste.

ClusterTag

Definition des Clustertags.

Type BESCHREIBUNG
STRING Der Schlüssel des Tags. Der Schlüssel muss folgende Kriterien erfüllen:

Er muss zwischen 1 und 512 Zeichen umfassen.
* Er darf keines der folgenden Zeichen enthalten: <>%*&+?\\/
* Er darf nicht mit einem der folgenden Zeichen beginnen: azure, microsoft, windows
STRING Der Wert des Tags. Die Länge des Werts muss kleiner oder gleich 256 UTF-8-Zeichen sein.

CronSchedule

Feldname Typ Beschreibung
quartz_cron_expression STRING Ein Cron-Ausdruck mit Quartz-Syntax, der den Zeitplan für einen Auftrag beschreibt. Ausführliche Informationen finden Sie unter Cron-Trigger. Dies ist ein Pflichtfeld.
timezone_id STRING Eine Java-Zeitzonen-ID. Der Zeitplan für einen Auftrag wird in Bezug auf diese Zeitzone aufgelöst. Ausführliche Informationen finden Sie unter Java: TimeZone. Dies ist ein Pflichtfeld.
pause_status STRING Gibt an, ob dieser Zeitplan angehalten ist oder nicht. Entweder PAUSED oder UNPAUSED.

DbfsStorageInfo

DBFS-Speicherinformationen.

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

FileStorageInfo

Dateispeicherinformationen.

Hinweis

Dieser Speicherorttyp ist nur für Cluster verfügbar, die mit Databricks-Containerdiensten eingerichtet wurden.

Feldname Typ Beschreibung
destination STRING Ziel der Datei. Beispiel: file:/my/file.sh

InitScriptInfo

Pfad zu einem Initialisierungsskript.

Anweisungen zur Verwendung von Initialisierungsskripts mit Databricks-Containerdiensten finden Sie unter Verwenden eines Initialisierungsskripts.

Hinweis

Der Dateispeichertyp (Feldname: file) ist nur für Cluster verfügbar, die mit Databricks-Containerdiensten eingerichtet wurden. Weitere Informationen finden Sie unter FileStorageInfo.

Feldname Typ Beschreibung
workspace ODER
dbfs (veraltet)

OR
abfss
WorkspaceStorageInfo

DbfsStorageInfo (veraltet)

ABFSSStorageInfo
Arbeitsbereichsspeicherort des Initialisierungsskripts. Das Ziel muss angegeben werden. Ein auf ein Objekt angewendeter
{ "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } }

(Veraltet) DBFS-Speicherort des Initialisierungsskripts. Das Ziel muss angegeben werden. Ein auf ein Objekt angewendeter
{ "dbfs" : { "destination" : "dbfs:/home/init_script" } }

Azure Data Lake Storage (ADLS)-Speicherort des Initialisierungsskripts. Das Ziel muss angegeben werden. Beispiel: { "abfss": { "destination" : "abfss://..." } }

Job

Feldname Typ Beschreibung
job_id INT64 Der kanonische Bezeichner für diesen Auftrag.
creator_user_name STRING Der Benutzername des Erstellers. Dieses Feld ist nicht in der Antwort enthalten, wenn der Benutzer bereits gelöscht wurde.
run_as STRING Der Benutzername, mit dem der Auftrag ausgeführt wird. run_as basiert auf den aktuellen Auftragseinstellungen und wird auf den Ersteller des Auftrags festgelegt, wenn die Auftragszugriffssteuerung deaktiviert ist, oder auf die Berechtigung is_owner, wenn die Auftragszugriffssteuerung aktiviert ist.
settings JobSettings Einstellungen für diesen Auftrag und alle zugehörigen Ausführungen. Diese Einstellungen können mithilfe der resetJob-Methode aktualisiert werden.
created_time INT64 Der Zeitpunkt in Epochenmillisekunden (Millisekunden seit dem 1.1.1970 UTC), zu dem dieser Auftrag erstellt wurde.

JobEmailNotifications

Wichtig

Die Felder „on_start“, „on_success“ und „on_failure“ akzeptieren nur lateinische Zeichen (ASCII-Zeichensatz). Die Verwendung von Nicht-ASCII-Zeichen führt zu einem Fehler. Beispiele ungültiger Nicht-ASCII-Zeichen sind chinesische Zeichen, japanische Kanjis und Emojis.

Feldname Typ Beschreibung
on_start Ein Array von STRING Eine Liste der E-Mail-Adressen, die benachrichtigt werden sollen, wenn eine Ausführung beginnt. Wenn dieser Wert beim Erstellen, Zurücksetzen oder Aktualisieren des Auftrags nicht angegeben wird, ist die Liste leer, und es werden keine Benachrichtigungen gesendet.
on_success Ein Array von STRING Eine Liste der E-Mail-Adressen, die benachrichtigt werden sollen, wenn eine Ausführung erfolgreich abgeschlossen wurde. Eine Ausführung wird als erfolgreich abgeschlossen betrachtet, wenn sie mit TERMINATEDlife_cycle_state und SUCCESSFULresult_state beendet wird. Wenn dieser Wert beim Erstellen, Zurücksetzen oder Aktualisieren des Auftrags nicht angegeben wird, ist die Liste leer, und es werden keine Benachrichtigungen gesendet.
on_failure Ein Array von STRING Eine Liste der E-Mail-Adressen, die benachrichtigt werden sollen, wenn eine Ausführung nicht erfolgreich abgeschlossen wurde. Eine Ausführung wird als nicht erfolgreich abgeschlossen betrachtet, wenn sie mit INTERNAL_ERROR
life_cycle_state oder SKIPPED, FAILED oder einem result_state-Wert TIMED_OUT beendet wird. Wenn dieser Wert beim Erstellen, Zurücksetzen oder Aktualisieren des Auftrags nicht angegeben wird, ist die Liste leer, und es werden keine Benachrichtigungen gesendet.
on_duration_warning_threshold_exceeded Ein Array von STRING Eine Liste mit E-Mail-Adressen, die benachrichtigt werden sollen, wenn die Dauer einer Ausführung den für die Metrik RUN_DURATION_SECONDS im Feld health angegebenen Schwellenwert überschreitet. Wenn im Feld health für den Auftrag keine Regel für die Metrik RUN_DURATION_SECONDS angegeben ist, werden keine Benachrichtigungen gesendet.
no_alert_for_skipped_runs BOOL Bei Festlegung auf TRUE werden keine E-Mails an die Empfänger gesendet, die in on_failure angegeben sind, wenn die Ausführung übersprungen wird.
Feldname Typ Beschreibung
on_start Ein Array von Webhooks Eine optionale Liste der Systemziele, die benachrichtigt werden sollen, wenn eine Ausführung beginnt. Wenn dieser Wert beim Erstellen, Zurücksetzen oder Aktualisieren des Auftrags nicht angegeben wird, ist die Liste leer, und es werden keine Benachrichtigungen gesendet. Für die Eigenschaft on_start können maximal 3 Ziele angegeben werden.
on_success Ein Array von Webhooks Eine optionale Liste der Systemziele, die benachrichtigt werden sollen, wenn eine Ausführung erfolgreich abgeschlossen wird. Eine Ausführung wird als erfolgreich abgeschlossen betrachtet, wenn sie mit TERMINATEDlife_cycle_state und SUCCESSFULresult_state beendet wird. Wenn dieser Wert beim Erstellen, Zurücksetzen oder Aktualisieren des Auftrags nicht angegeben wird, ist die Liste leer, und es werden keine Benachrichtigungen gesendet. Für die Eigenschaft on_success können maximal 3 Ziele angegeben werden.
on_failure Ein Array von Webhooks Eine optionale Liste der Systemziele, die benachrichtigt werden sollen, wenn eine Ausführung nicht erfolgreich abgeschlossen wird. Eine Ausführung wird als nicht erfolgreich abgeschlossen betrachtet, wenn sie mit INTERNAL_ERROR
life_cycle_state oder SKIPPED, FAILED oder einem result_state-Wert TIMED_OUT beendet wird. Wenn dieser Wert beim Erstellen, Zurücksetzen oder Aktualisieren des Auftrags nicht angegeben wird, ist die Liste leer, und es werden keine Benachrichtigungen gesendet. Für die Eigenschaft on_failure können maximal 3 Ziele angegeben werden.
on_duration_warning_threshold_exceeded Ein Array von Webhooks Eine optionale Liste mit Systemzielen, die benachrichtigt werden sollen, wenn die Dauer einer Ausführung den für die Metrik RUN_DURATION_SECONDS im Feld health angegebenen Schwellenwert überschreitet. Für die Eigenschaft on_duration_warning_threshold_exceeded können maximal 3 Ziele angegeben werden.

JobNotificationSettings

Feldname Typ Beschreibung
no_alert_for_skipped_runs BOOL Bei WAHR werden keine Benachrichtigungen an die Empfänger gesendet, die in on_failure angegeben sind, wenn die Ausführung übersprungen wird.
no_alert_for_canceled_runs BOOL Bei WAHR werden keine Benachrichtigungen an die Empfänger gesendet, die in on_failure angegeben sind, wenn die Ausführung abgebrochen wird.
alert_on_last_attempt BOOL Bei WAHR werden keine Benachrichtigungen an Empfänger gesendet, die in on_start für die wiederholten Ausführungen angegeben sind, und es werden bis zum letzten Wiederholungsversuch der Ausführung keine Benachrichtigungen an Empfänger gesendet, die in on_failure angegeben sind.

JobSettings

Wichtig

  • Wenn Sie einen Auftrag in einem neuen Auftragscluster ausführen, wird der Auftrag als (automatisierte) Jobs Compute-Workload behandelt, für die der Jobs Compute-Preis gilt.
  • Wenn Sie einen Auftrag in einem vorhandenen All-Purpose-Cluster ausführen, wird er als (interaktive) All-Purpose Compute-Workload behandelt, für die die All-Purpose Compute-Preise gelten.

Einstellungen für einen Auftrag. Diese Einstellungen können mithilfe der resetJob-Methode aktualisiert werden.

Feldname Typ BESCHREIBUNG
existing_cluster_id ODER new_cluster STRING ODER NewCluster „existing_cluster_id“ gibt die ID eines vorhandenen Clusters an, der für alle Ausführungen dieses Auftrags verwendet wird. Wenn Sie Aufträge für einen vorhandenen Cluster ausführen, müssen Sie den Cluster möglicherweise manuell neu starten, wenn er nicht mehr reagiert. Es wird empfohlen, Aufträge in neuen Clustern auszuführen, um die Zuverlässigkeit zu erhöhen.

„new_cluster“ gibt eine Beschreibung eines Clusters an, der für jede Ausführung erstellt wird.

Wenn Sie PipelineTask angeben, kann dieses Feld leer sein.
notebook_task ODER spark_jar_task ODER
spark_python_task ODER spark_submit_task ODER
pipeline_task ODER run_job_task
NotebookTask ODER SparkJarTask ODER SparkPythonTask ODER SparkSubmitTask ODER PipelineTask ODER RunJobTask „notebook_task“ gibt an, dass dieser Auftrag ein Notebook ausführen soll. Dieses Feld kann nicht in Verbindung mit „spark_jar_task“ verwendet werden.

„spark_jar_task“ gibt an, dass dieser Auftrag eine JAR ausführen soll.

„spark_python_task“ gibt an, dass dieser Auftrag eine Python-Datei ausführen soll.

„spark_submit_task“ gibt an, dass dieser Auftrag über das spark-submit-Skript gestartet werden soll.

„pipeline_task“ gibt an, dass dieser Auftrag eine Delta Live Tables-Pipeline ausführen soll.

„run_job_task“ gibt an, dass dieser Auftrag einen anderen Auftrag ausführen soll.
name STRING Ein optionaler Name für den Auftrag. Der Standardwert ist Untitled.
libraries Ein Array von Library (Bibliothek) Eine optionale Liste der Bibliotheken, die in dem Cluster installiert werden, der den Auftrag ausführen wird. Der Standardwert ist eine leere Liste.
email_notifications JobEmailNotifications Ein optionaler Satz an E-Mail-Adressen, die benachrichtigt werden, wenn die Ausführung dieses Auftrags beginnt oder abgeschlossen wird, oder wenn dieser Auftrag gelöscht wird. Als Standardverhalten werden keine E-Mails gesendet.
webhook_notifications WebhookNotifications Ein optionaler Satz von Systemzielen, die benachrichtigt werden sollen, wenn die Ausführung dieses Auftrags beginnt, abgeschlossen wird oder fehlschlägt.
notification_settings JobNotificationSettings Optionale Benachrichtigungseinstellungen, die beim Senden von Benachrichtigungen an jeden der email_notifications und webhook_notifications für diesen Auftrag verwendet werden.
timeout_seconds INT32 Ein optionales Timeout, das auf jede Ausführung dieses Auftrags angewendet wird. Als Standardverhalten ist kein Timeout festgelegt.
max_retries INT32 Eine optionale maximale Anzahl von Wiederholungsversuchen für eine nicht erfolgreiche Ausführung. Eine Ausführung wird als nicht erfolgreich betrachtet, falls „result_state“ FAILED lautet oder
INTERNAL_ERROR
life_cycle_state. Der Wert -1 steht für eine unbegrenzte Anzahl an Wiederholungsversuchen, der Wert 0 bedeutet, dass keine Wiederholungsversuche unternommen werden. Standardmäßig werden keine Wiederholungsversuche durchgeführt.
min_retry_interval_millis INT32 Ein optionales Mindestintervall in Millisekunden zwischen Versuchen. Standardmäßig wird für fehlerhafte Ausführungen sofort ein erneuter Versuch unternommen.
retry_on_timeout BOOL Eine optionale Richtlinie, die angibt, ob ein Auftrag bei einem Timeout wiederholt werden soll. Standardmäßig wird einem Timeout kein neuer Versuch unternommen.
schedule CronSchedule Ein optionaler regelmäßiger Zeitplan für diesen Auftrag. Standardmäßig wird der Auftrag ausgeführt, wenn er durch Klicken auf „Jetzt ausführen“ in der Benutzeroberfläche für Aufträge oder durch Senden einer API-Anforderung ausgelöst wird:
runNow.
max_concurrent_runs INT32 Eine optionale maximal zulässige Anzahl von gleichzeitigen Ausführungen des Auftrags.

Legen Sie diesen Wert fest, wenn Sie mehrere Ausführungen desselben Auftrags gleichzeitig ausführen möchten. Dies ist beispielsweise nützlich, wenn Sie Ihren Auftrag in regelmäßigen Abständen auslösen und zulassen möchten, dass sich aufeinanderfolgende Ausführungen überschneiden, oder wenn Sie mehrere Ausführungen auslösen möchten, die sich durch ihre Eingabeparameter unterscheiden.

Diese Einstellung gilt nur für neue Ausführungen. Angenommen, die Parallelität des Auftrags beträgt 4 und es sind 4 gleichzeitig aktive Ausführungen vorhanden. Wenn Sie in diesem Fall die Parallelität auf 3 festlegen, wird keine der aktiven Ausführungen abgebrochen. Ab diesem Zeitpunkt werden jedoch neue Ausführungen übersprungen, sofern nicht weniger als 3 aktive Ausführungen vorhanden sind.

Dieser Wert darf nicht über 1000 liegen. Wenn Sie diesen Wert auf 0 festlegen, werden alle neuen Ausführungen übersprungen. Standardmäßig wird nur 1 aktive Ausführung zugelassen.
health JobsHealthRules Optionale Integritätsregeln, die für den Auftrag definiert sind.

JobTask

Feldname Typ Beschreibung
notebook_task ODER spark_jar_task ODER
spark_python_task ODER spark_submit_task ODER
pipeline_task ODER run_job_task
NotebookTask ODER SparkJarTask ODER SparkPythonTask ODER SparkSubmitTask ODER PipelineTask ODER RunJobTask „notebook_task“ gibt an, dass dieser Auftrag ein Notebook ausführen soll. Dieses Feld kann nicht in Verbindung mit „spark_jar_task“ verwendet werden.

„spark_jar_task“ gibt an, dass dieser Auftrag eine JAR ausführen soll.

„spark_python_task“ gibt an, dass dieser Auftrag eine Python-Datei ausführen soll.

„spark_submit_task“ gibt an, dass dieser Auftrag über das spark-submit-Skript gestartet werden soll.

„pipeline_task“ gibt an, dass dieser Auftrag eine Delta Live Tables-Pipeline ausführen soll.

„run_job_task“ gibt an, dass dieser Auftrag einen anderen Auftrag ausführen soll.

JobsHealthRule

Feldname Typ Beschreibung
metric STRING Gibt die Integritätsmetrik an, die für eine bestimmte Integritätsregel ausgewertet wird. Gültige Werte sind RUN_DURATION_SECONDS.
operator STRING Gibt den Operator an, der verwendet wird, um den Integritätsmetrikwert mit dem angegebenen Schwellenwert zu vergleichen. Gültige Werte sind GREATER_THAN.
value INT32 Gibt den Schwellenwert an, den die Integritätsmetrik einhalten muss, um die Integritätsregel zu erfüllen.

JobsHealthRules

Feldname Typ Beschreibung
rules Ein Array für JobsHealthRule Optionale Integritätsregeln, die für einen Auftrag definiert werden können.

Bibliothek

Feldname Typ Beschreibung
jar ODER egg ODER whl ODER
pypi ODER maven ODER cran
STRING ODER STRING ODER STRING ODER PythonPyPiLibrary ODER MavenLibrary ODER RCranLibrary Wenn jar, dann der URI der zu installierenden JAR-Bibliothek. DBFS- und ADLS-URIs (abfss) werden unterstützt. Zum Beispiel: { "jar": "dbfs:/mnt/databricks/library.jar" } oder
{ "jar": "abfss://<container-path>/library.jar" }. Wenn ADLS verwendet wird, stellen Sie sicher, dass der Cluster über Lesezugriff auf die Bibliothek verfügt.

Wenn egg, dann der URI der zu installierenden Egg-Bibliothek. DBFS- und ADLS-URIs werden unterstützt. Zum Beispiel: { "egg": "dbfs:/my/egg" } oder
{ "egg": "abfss://<container-path>/egg" }.

Wenn whl, dann der URI des zu installierenden wheel-Elements bzw. der gezippten wheels-Elemente. DBFS- und ADLS-URIs werden unterstützt. Zum Beispiel: { "whl": "dbfs:/my/whl" } oder
{ "whl": "abfss://<container-path>/whl" }. Wenn ADLS verwendet wird, stellen Sie sicher, dass der Cluster über Lesezugriff auf die Bibliothek verfügt. Außerdem muss der Name der wheel-Datei die richtige Konvention verwenden. Wenn gezippte wheels installiert werden sollen, sollte das Dateinamensuffix .wheelhouse.zip lauten.

Wenn pypi, dann die Spezifikation einer zu installierenden PyPI-Bibliothek. Die Angabe des repo-Felds ist optional, und wenn es nicht angegeben ist, wird der standardmäßige pip-Index verwendet. Beispiele:
{ "package": "simplejson", "repo": "https://my-repo.com" }

Wenn maven, dann die Angabe einer zu installierenden Maven-Bibliothek. Beispiele:
{ "coordinates": "org.jsoup:jsoup:1.7.2" }

Wenn cran, dann die Angabe einer zu installierenden CRAN-Bibliothek.

MavenLibrary

Feldname Typ Beschreibung
coordinates STRING Maven-Koordinaten im Gradle-Stil. Beispiel: org.jsoup:jsoup:1.7.2. Dieses Feld ist ein Pflichtfeld.
repo STRING Das Maven-Repository, aus dem das Maven-Paket installiert werden soll. Wenn dieses nicht angegeben wird, werden sowohl das Maven Central Repository und Spark-Pakete durchsucht.
exclusions Ein Array von STRING Liste der auszuschließenden Abhängigkeiten. Beispiel: ["slf4j:slf4j", "*:hadoop-client"].

Maven-Abhängigkeitsausschlüsse: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html.

NewCluster

Feldname Typ BESCHREIBUNG
num_workers ODER autoscale INT32 ODER AutoScale Bei Verwendung von „num_workers“ die Anzahl von Workerknoten, die dieser Cluster aufweisen sollte. Ein Cluster umfasst 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 Workern und nicht die tatsächliche Anzahl von Workern an. Wenn beispielsweise die Größe eines Clusters von 5 auf 10 Worker geändert wird, wird dieses Feld sofort aktualisiert, um die Zielgröße von 10 Workern widerzuspiegeln, während die in „spark_info“ aufgeführten Worker schrittweise von 5 auf 10 erhöht werden, wenn die neuen Knoten bereitgestellt werden.

Bei der automatischen Skalierung sind Parameter erforderlich, um Cluster basierend auf der Last automatisch hoch- und herunterzuskalieren.
spark_version STRING Die Spark-Version des Clusters. Eine Liste der verfügbaren Spark-Versionen kann mithilfe des Aufrufs GET 2.0/clusters/spark-versions abgerufen werden. Dieses Feld ist ein Pflichtfeld.
spark_conf SparkConfPair Ein Objekt mit optionalen, benutzerspezifischen Schlüssel-Wert-Paaren für die Spark-Konfiguration. Sie können darüber hinaus eine Zeichenfolge mit zusätzlichen JVM-Optionen an den Treiber und die Executors übergeben, indem Sie
spark.driver.extraJavaOptions bzw. spark.executor.extraJavaOptions verwenden.

Spark-Beispielkonfigurationen:
{"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. Spark-Knoten können beispielsweise für speicher- oder rechenintensive Workloads bereitgestellt und optimiert werden. Eine Liste der verfügbaren Knotentypen kann mit dem Aufruf GET 2.0/clusters/list-node-types abgerufen werden. Dieses Feld, das Feld instance_pool_id oder eine Clusterrichtlinie, die eine Knotentyp-ID oder Instanzpool-ID angibt, ist erforderlich.
driver_node_type_id STRING Der Knotentyp des Spark-Treibers. Dieses Feld ist optional. Ohne Festlegung wird der Treiberknotentyp auf den gleichen Wert festgelegt wie node_type_id (oben definiert).
custom_tags ClusterTag Ein Objekt, das Tags für Clusterressourcen enthält. Databricks kennzeichnet alle Clusterressourcen (z. B. VMs) zusätzlich zu „default_tags“ mit diesen Tags.

Hinweis:

* Tags werden für Legacyknotentypen wie „Für Compute optimiert“ und „Arbeitsspeicheroptimiert“ nicht unterstützt.
* Databricks lässt maximal 45 benutzerdefinierte Tags zu.
cluster_log_conf ClusterLogConf Die Konfiguration für die Übermittlung von Spark-Protokollen an ein Ziel für die langfristige Speicherung. Für einen Cluster kann nur ein Ziel angegeben werden. Wenn die Konfiguration angegeben ist, werden die Protokolle all 5 mins an das Ziel übermittelt. Das Ziel von Treiberprotokollen lautet <destination>/<cluster-id>/driver, während das Ziel von Executorprotokollen <destination>/<cluster-id>/executor lautet.
init_scripts Ein InitScriptInfo-Array Die Konfiguration zum Speichern von Initialisierungsskripts. Es kann eine beliebige Anzahl von Skripts angegeben werden. Die Skripts werden sequenziell in der angegebenen Reihenfolge ausgeführt. Wenn cluster_log_conf angegeben ist, werden Initialisierungsskript-Protokolle an gesendet.
<destination>/<cluster-id>/init_scripts.
spark_env_vars SparkEnvPair Ein Objekt, das optionale, benutzerdefinierte Schlüssel-Wert-Paare für Umgebungsvariablen enthält. Schlüssel-Wert-Paare der Form (X,Y) werden unverändert exportiert (d. h.
export X='Y'), wenn der Treiber und die Worker gestartet werden.

Wenn Sie zusätzliche SPARK_DAEMON_JAVA_OPTS angeben möchten, sollten Sie sie wie im folgenden Beispiel an $SPARK_DAEMON_JAVA_OPTS anhängen. Dadurch wird sichergestellt, dass auch alle von Databricks verwalteten Standardumgebungsvariablen einbezogen werden.

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"}
enable_elastic_disk BOOL Autoskalierung des lokalen Speichers: Wenn diese Option aktiviert ist, erwirbt der Cluster dynamisch zusätzlichen Datenträgerspeicher, wenn der Speicherplatz seiner Spark-Worker zur Neige geht. Weitere Informationen finden Sie unter Automatisches Skalieren des lokalen Speichers aktivieren.
driver_instance_pool_id STRING Die optionale ID des Instanzpools, der für den Treiberknoten verwendet werden soll. Sie müssen ebenfalls instance_pool_id angeben. Ausführliche Informationen finden Sie unter Instanzpool-API.
instance_pool_id STRING Die optionale ID des Instanzpools, der für Clusterknoten verwendet werden soll. Wenn driver_instance_pool_id vorhanden ist,
wird instance_pool_id nur für Workerknoten verwendet. Andernfalls erfolgt die Verwendung sowohl für den Treiberknoten als auch für Workerknoten. Ausführliche Informationen finden Sie unter Instanzpool-API.

NotebookOutput

Feldname Typ Beschreibung
result STRING Der an dbutils.notebook.exit() übergebene Wert. Azure Databricks beschränkt diese API auf die Rückgabe der ersten 1 MB des Werts. Für ein größeres Ergebnis kann Ihr Auftrag die Ergebnisse in einem Cloudspeicherdienst speichern. Dieses Feld fehlt, wenn dbutils.notebook.exit() nie aufgerufen wurde.
truncated BOOLEAN Gibt an, ob das Ergebnis abgeschnitten wurde.

NotebookTask

Alle Ausgabezellen unterliegen einer Größenbeschränkung von 8 MB. Wenn die Ausgabe einer Zelle größer ist, wird der Rest der Ausführung abgebrochen, und die Ausführung wird als fehlgeschlagen markiert. In diesem Fall fehlt möglicherweise auch ein Teil der Inhaltsausgabe aus anderen Zellen.

Wenn Sie Hilfe benötigen, um die Zelle zu finden, die das Limit überschreitet, führen Sie das Notebook für einen All-Purpose-Cluster aus, und verwenden Sie diese Technik zur automatischen Notebookspeicherung.

Feldname Typ Beschreibung
notebook_path STRING Der absolute Pfad des Notebooks, das im Azure Databricks-Arbeitsbereich ausgeführt werden soll. Dieser Pfad muss mit einem Schrägstrich beginnen. Dies ist ein Pflichtfeld.
revision_timestamp LONG Der Zeitstempel der Revision des Notebooks.
base_parameters Eine ParamPair-Zuordnung Basisparameter, die für jede Ausführung dieses Auftrags verwendet werden sollen. Wenn die Ausführung durch einen Aufruf von run-now mit angegebenen Parametern initiiert wird, werden die beiden Parameterzuordnungen zusammengeführt. Wenn der gleiche Schlüssel in base_parameters und in run-now angegeben ist, wird der Wert aus run-now verwendet.

Verwenden Sie Kontext über Auftragsausführungen in Auftragsvorgänge übergeben, um Parameter festzulegen, die Informationen zu Auftragsausführungen enthalten.

Wenn das Notebook einen Parameter verwendet, der nicht in den Auftragsparametern base_parameters oder den Parametern zur Überschreibung run-now angegeben ist, wird der Standardwert aus dem Notebook verwendet.

Rufen Sie diese Parameter in einem Notebook mit dbutils.widgets.get ab.

ParamPair

Namensbasierte Parameter für Aufträge, die Notebookaufgaben ausführen.

Wichtig

Die Felder in dieser Datenstruktur akzeptieren nur lateinische Zeichen (ASCII-Zeichensatz). Die Verwendung von Nicht-ASCII-Zeichen führt zu einem Fehler. Beispiele ungültiger Nicht-ASCII-Zeichen sind chinesische Zeichen, japanische Kanjis und Emojis.

Type BESCHREIBUNG
STRING Parametername. Rufen Sie den Wert durch eine Übergabe an dbutils.widgets.get ab.
STRING Parameterwert.

PipelineTask

Feldname Typ Beschreibung
pipeline_id STRING Der vollständige Name der Delta Live Tables-Pipelineaufgabe, die ausgeführt werden soll.

PythonPyPiLibrary

Feldname Typ Beschreibung
package STRING Der Name des zu installierenden PyPI-Pakets. Eine optionale genaue Versionsangabe wird ebenfalls unterstützt. Beispiele: simplejson und simplejson==3.8.0. Dieses Feld ist ein Pflichtfeld.
repo STRING Repository, in dem sich das Paket befindet. Wenn keine Angabe erfolgt, wird der pip-Standardindex verwendet.

RCranLibrary

Feldname Typ Beschreibung
package STRING Der Name des zu installierenden CRAN-Pakets. Dieses Feld ist ein Pflichtfeld.
repo STRING Das Repository, in dem sich das Paket befindet. Wenn nicht angegeben, wird das CRAN-Standardrepository verwendet.

Run

Alle Informationen zu einer Ausführung mit Ausnahme der Ausgabe. Die Ausgabe kann separat mit der getRunOutput-Methode abgerufen werden.

Feldname Typ Beschreibung
job_id INT64 Der kanonische Bezeichner des Auftrags, der diese Ausführung enthält.
run_id INT64 Der kanonische Bezeichner der Ausführung. Diese ID ist für alle Ausführungen sämtlicher Aufträge eindeutig.
creator_user_name STRING Der Benutzername des Erstellers. Dieses Feld ist nicht in der Antwort enthalten, wenn der Benutzer bereits gelöscht wurde.
number_in_job INT64 Die Sequenznummer dieser Ausführung unter allen Ausführungen des Auftrags. Dieser Wert beginnt bei 1.
original_attempt_run_id INT64 Wenn es sich bei dieser Ausführung um die Wiederholung eines früheren Versuchs handelt, enthält dieses Feld den run_id-Wert des ursprünglichen Versuchs, andernfalls ist er mit „run_id“ identisch.
state RunState Der Ergebnis- und Lebenszyklusstatus der Ausführung.
schedule CronSchedule Der Cron-Zeitplan, der diese Ausführung ausgelöst hat, wenn sie vom Scheduler für die regelmäßige Ausführung ausgelöst wurde.
task JobTask Die Aufgabe, die von der Ausführung ausgeführt wird (sofern zutreffend).
cluster_spec ClusterSpec Eine Momentaufnahme der Clusterspezifikation des Auftrags zum Zeitpunkt der Ausführungserstellung.
cluster_instance ClusterInstance Der für diese Ausführung verwendete Cluster. Wenn die Ausführung einen neuen Cluster verwenden soll, wird dieses Feld festgelegt, sobald der Auftragsdienst einen Cluster für die Ausführung angefordert hat.
overriding_parameters RunParameters Die für diese Ausführung verwendeten Parameter.
start_time INT64 Der Zeitpunkt in Epochenmillisekunden (Millisekunden seit dem 1.1.1970 UTC), zu dem dieser Auftrag gestartet wurde. Dies muss nicht unbedingt der Zeitpunkt sein, an dem die Ausführung der Auftragsaufgabe beginnt. Wenn der Auftrag beispielsweise in einem neuen Cluster ausgeführt werden soll, ist dies der Zeitpunkt, zu dem der Aufruf zur Erstellung des Clusters erfolgt.
setup_duration INT64 Die Zeit in Millisekunden, die zum Einrichten des Clusters benötigt wurde. Bei Ausführungen in neuen Clustern ist dies die Zeit zum Erstellen des Clusters, bei Ausführungen in vorhandenen Clustern sollte dieser Zeitraum sehr kurz sein.
execution_duration INT64 Die Zeit in Millisekunden, die für die Ausführung der Befehle in der JAR oder im Notebook benötigt wurde, bis zum Abschluss, einem Fehlschlag, einem Timeout, einem Abbruch oder einem unerwarteten Fehler.
cleanup_duration INT64 Die Zeit in Millisekunden, die zum Beenden des Clusters und zum Bereinigen alle zugehörigen Artefakte benötigt wurde. Die Gesamtdauer der Ausführung ist die Summe aus „setup_duration“, „execution_duration“ und „cleanup_duration“.
end_time INT64 Der Zeitpunkt in Epochenmillisekunden (Millisekunden seit dem 1.1.1970 UTC), zu dem diese Ausführung beendet wurde. Dieses Feld wird auf 0 festgelegt, wenn der Auftrag noch ausgeführt wird.
trigger TriggerType Der Typ des Triggers, der diese Ausführung ausgelöst hat.
run_name STRING Ein optionaler Name für die Ausführung. Standardwert: Untitled. Die maximal zulässige Länge beträgt 4096 Bytes in UTF-8-Codierung.
run_page_url STRING Die URL zur Detailseite der Ausführung.
run_type STRING Der Typ der Ausführung.

* JOB_RUN – normale Auftragsausführung. Eine mit Jetzt ausführen erstellte Ausführung.
* WORKFLOW_RUN – Workflowausführung. Eine mit dbutils.notebook.run erstellte Ausführung.
* SUBMIT_RUN – Übermittlungsausführung. Eine mit Jetzt ausführen erstellte Ausführung.
attempt_number INT32 Die Sequenznummer dieses Ausführungsversuchs für eine ausgelöste Auftragsauslösung. Der erste Versuch einer Ausführung weist den attempt_number-Wert 0 auf. Wenn der erste Ausführungsversuch fehlschlägt und der Auftrag eine Wiederholungsrichtlinie (max_retries> 0) umfasst, werden nachfolgende Ausführungen mit einem original_attempt_run_id-Wert der ID des ursprünglichen Versuchs und einer aufsteigenden attempt_number erstellt. Ausführungen werden nur wiederholt, bis sie erfolgreich sind, und der Höchstwert attempt_number entspricht dem Wert max_retries für den Auftrag.

RunJobTask

Feldname Typ Beschreibung
job_id INT32 Eindeutiger Bezeichner des auszuführenden Auftrags. Dieses Feld ist ein Pflichtfeld.

RunLifeCycleState

Der Lebenszyklusstatus einer Ausführung. Zulässige Statusübergänge sind:

  • PENDING ->RUNNING ->TERMINATING ->TERMINATED
  • PENDING ->SKIPPED
  • PENDING ->INTERNAL_ERROR
  • RUNNING ->INTERNAL_ERROR
  • TERMINATING ->INTERNAL_ERROR
Zustand BESCHREIBUNG
PENDING Die Ausführung wurde ausgelöst. Wenn noch keine aktive Ausführung desselben Auftrags vorhanden ist, werden der Cluster und der Ausführungskontext vorbereitet. Wenn bereits eine aktive Ausführung desselben Auftrags vorhanden ist, geht die Ausführung sofort in den Zustand SKIPPED über, ohne Ressourcen vorzubereiten.
RUNNING Die Aufgabe dieser Ausführung wird zurzeit ausgeführt.
TERMINATING Die Aufgabe dieser Ausführung wurde abgeschlossen, und der Cluster und der Ausführungskontext werden bereinigt.
TERMINATED Die Aufgabe dieser Ausführung wurde abgeschlossen, und der Cluster und der Ausführungskontext wurden bereinigt. Dies ist der finale Zustand.
SKIPPED Diese Ausführung wurde abgebrochen, weil bereits eine vorherige Ausführung desselben Auftrags aktiv war. Dies ist der finale Zustand.
INTERNAL_ERROR Ein Ausnahmezustand, der auf einen Fehler im Auftragsdienst hinweist, z. B. auf einen Netzwerkfehler über einen längeren Zeitraum. Wenn eine Ausführung in einem neuen Cluster den Endzustand INTERNAL_ERROR aufweist, beendet der Auftragsdienst den Cluster so schnell wie möglich. Dies ist der finale Zustand.

RunParameters

Parameter für diese Ausführung. Abhängig von der Art der Auftragsaufgabe darf in der Anforderung run-now nur eine der Optionen „jar_params“, python_params oder „notebook_params“ angegeben werden. Aufträge mit Spark-JAR-Aufgabe oder Python-Aufgabe verwenden eine Liste mit positionsbasierten Parametern, und Aufträge mit Notebook-Tasks verwenden eine Schlüssel-Wert-Zuordnung.

Feldname Typ Beschreibung
jar_params Ein Array von STRING Eine Liste mit Parametern für Aufträge mit Spark-JAR-Aufgaben, z. B. "jar_params": ["john doe", "35"]. Die Parameter werden verwendet, um die Hauptfunktion (main) der Hauptklasse aufzurufen, die in der Spark-JAR-Aufgabe angegeben ist. Sofern nicht für run-now angegeben, wird standardmäßig eine leere Liste verwendet. „jar_params“ kann nicht zusammen mit „notebook_params“ angegeben werden. Die JSON-Darstellung dieses Feldes (d. h. {"jar_params":["john doe","35"]}) darf 10.000 Bytes nicht überschreiten.

Verwenden Sie Kontext über Auftragsausführungen in Auftragsvorgänge übergeben, um Parameter festzulegen, die Informationen zu Auftragsausführungen enthalten.
notebook_params Eine ParamPair-Zuordnung Eine Zuordnung von Schlüsseln zu Werten für Aufträge mit Notebook-Aufgabe, z. B.
"notebook_params": {"name": "john doe", "age": "35"}. Die Zuordnung wird an das Notebook übergeben und ist über die Funktion dbutils.widgets.get zugänglich.

Sofern nicht für run-now angegeben, verwendet die ausgelöste Ausführung die Basisparameter des Auftrags.

„notebook_params“ kann nicht zusammen mit „notebook_params“ angegeben werden.

Verwenden Sie Kontext über Auftragsausführungen in Auftragsvorgänge übergeben, um Parameter festzulegen, die Informationen zu Auftragsausführungen enthalten.

Die JSON-Darstellung dieses Feldes (d. h.
{"notebook_params":{"name":"john doe","age":"35"}}) darf 10.000 Bytes nicht überschreiten.
python_params Ein Array von STRING Eine Liste mit Parametern für Aufträge mit Python-Aufgaben, z. B. "python_params": ["john doe", "35"]. Die Parameter werden als Befehlszeilenparameter an die Python-Datei übergeben. Sofern für run-now angegeben, werden die in den Auftragseinstellungen angegebenen Parameter überschrieben. Die JSON-Darstellung dieses Feldes (d. h. {"python_params":["john doe","35"]}) darf 10.000 Bytes nicht überschreiten.

Verwenden Sie Kontext über Auftragsausführungen in Auftragsvorgänge übergeben, um Parameter festzulegen, die Informationen zu Auftragsausführungen enthalten.

> [!IMPORTANT] >> Diese Parameter akzeptieren nur lateinische Zeichen (ASCII-Zeichensatz). > Die Verwendung von Nicht-ASCII-Zeichen führt zu einem Fehler. Beispiele ungültiger Nicht-ASCII-Zeichen sind chinesische Zeichen, japanische Kanjis und Emojis.
spark_submit_params Ein Array von STRING Eine Liste mit Parametern für Aufträge mit spark submit-Aufgaben, z. B.
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. Die Parameter werden als Befehlszeilenparameter an das spark-submit-Skript übergeben. Sofern für run-now angegeben, werden die in den Auftragseinstellungen angegebenen Parameter überschrieben. Die JSON-Darstellung dieses Feldes (d. h. {"python_params":["john doe","35"]}) darf 10.000 Bytes nicht überschreiten.

Verwenden Sie Kontext über Auftragsausführungen in Auftragsvorgänge übergeben, um Parameter festzulegen, die Informationen zu Auftragsausführungen enthalten.

> [!IMPORTANT] >> Diese Parameter akzeptieren nur lateinische Zeichen (ASCII-Zeichensatz). > Die Verwendung von Nicht-ASCII-Zeichen führt zu einem Fehler. Beispiele ungültiger Nicht-ASCII-Zeichen sind chinesische Zeichen, japanische Kanjis und Emojis.

RunResultState

Der Ergebniszustand der Ausführung.

  • life_cycle_state = TERMINATED: Wenn die Ausführung eine Aufgabe enthielt, ist das Ergebnis garantiert verfügbar, und es wird das Ergebnis der Aufgabe angegeben.
  • life_cycle_state = PENDING, RUNNING oder SKIPPED: Der Ergebniszustand nicht verfügbar.
  • life_cycle_state = TERMINATING oder „lifecyclestate = INTERNAL_ERROR“: Der Ergebniszustand ist verfügbar, wenn die Ausführung eine Aufgabe enthielt und diese gestartet werden konnte.

Sobald verfügbar, ändert sich der Ergebniszustand nicht mehr.

Zustand Beschreibung
SUCCESS Die Aufgabe wurde erfolgreich abgeschlossen.
FAILED Die Aufgabe wurde mit einem Fehler abgeschlossen.
TIMEDOUT Die Ausführung wurde beendet, nachdem das Timeout aufgetreten ist.
CANCELED Die Ausführung wurde auf Anforderung des Benutzers abgebrochen.

RunState

Feldname Typ Beschreibung
life_cycle_state RunLifeCycleState Eine Beschreibung der aktuellen Position einer Ausführung im Ausführungslebenszyklus. Dieses Feld ist immer in der Antwort verfügbar.
result_state RunResultState Der Ergebniszustand einer Ausführung. Falls das Ergebnis nicht verfügbar ist, ist dieses Feld nicht in der Antwort enthalten. Unter RunResultState finden Sie Details zur Verfügbarkeit von „result_state“.
user_cancelled_or_timedout BOOLEAN Gibt an, ob eine Ausführung manuell von einem Benutzer oder vom Scheduler abgebrochen wurde, weil für die Ausführung ein Timeout aufgetreten ist.
state_message STRING Eine beschreibende Meldung für den aktuellen Zustand. Dieses Feld ist unstrukturiert, und sein genaues Format kann sich ändern.

SparkConfPair

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

Type BESCHREIBUNG
STRING Name einer Konfigurationseigenschaft.
STRING Der Wert einer Konfigurationseigenschaft.

SparkEnvPair

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

Wichtig

Beim Angeben von Umgebungsvariablen in einem Auftragscluster dürfen für die Felder in dieser Datenstruktur nur lateinische Zeichen (ASCII-Zeichensatz) verwendet werden. Die Verwendung von Nicht-ASCII-Zeichen führt zu einem Fehler. Beispiele ungültiger Nicht-ASCII-Zeichen sind chinesische Zeichen, japanische Kanjis und Emojis.

Type BESCHREIBUNG
STRING Name einer Umgebungsvariablen.
STRING Wert der Umgebungsvariablen.

SparkJarTask

Feldname Typ Beschreibung
jar_uri STRING Veraltet seit Spark 04/2016. Geben Sie stattdessen jar über das Feld libraries an. Ein Beispiel finden Sie unter Create.
main_class_name STRING Der vollständige Name der Klasse, die die auszuführende Hauptmethode enthält. Diese Klasse muss in einer JAR-Datei enthalten sein, die als Bibliothek bereitgestellt wird.

Der Code sollte SparkContext.getOrCreate verwenden, um einen Spark-Kontext abzurufen. Andernfalls wird die Ausführung des Auftrags fehlschlagen.
parameters Ein Array von STRING Parameter, die an die main-Methode übergeben werden.

Verwenden Sie Kontext über Auftragsausführungen in Auftragsvorgänge übergeben, um Parameter festzulegen, die Informationen zu Auftragsausführungen enthalten.

SparkPythonTask

Feldname Typ Beschreibung
python_file STRING Der URI der auszuführenden Python-Datei. Es werden nur DBFS-Pfade unterstützt. Dieses Feld ist ein Pflichtfeld.
parameters Ein Array von STRING Befehlszeilenparameter, die an die Python-Datei übergeben werden.

Verwenden Sie Kontext über Auftragsausführungen in Auftragsvorgänge übergeben, um Parameter festzulegen, die Informationen zu Auftragsausführungen enthalten.

SparkSubmitTask

Wichtig

  • Sie können spark submit-Aufgaben nur für neue Cluster aufrufen.
  • In der new_cluster-Spezifikation werden libraries und spark_conf nicht unterstützt. Verwenden Sie stattdessen --jars und --py-files, um Java- und Python-Bibliotheken hinzuzufügen, und --conf, um die Spark-Konfiguration festzulegen.
  • master, deploy-mode und executor-cores werden automatisch durch Azure Databricks konfiguriert. Sie können diese Werte nicht in Parametern angeben.
  • Der spark submit-Auftrag verwendet standardmäßig den gesamten verfügbaren Arbeitsspeicher (mit Ausnahme des für Azure Databricks-Dienste reservierten Arbeitsspeichers). Sie können --driver-memory und --executor-memory auf einen kleineren Wert festlegen, um etwas Puffer für die Verwendung außerhalb des Heaps zu haben.
  • Die Argumente --jars, --py-files und --files unterstützen DBFS-Pfade.

Beispiel: Wenn die JAR-Datei in DBFS hochgeladen wird, können Sie SparkPi ausführen, indem Sie die folgenden Parameter festlegen.

{
  "parameters": [
    "--class",
    "org.apache.spark.examples.SparkPi",
    "dbfs:/path/to/examples.jar",
    "10"
  ]
}
Feldname Typ Beschreibung
parameters Ein Array von STRING Befehlszeilenparameter, die an „spark submit“ übergeben werden.

Verwenden Sie Kontext über Auftragsausführungen in Auftragsvorgänge übergeben, um Parameter festzulegen, die Informationen zu Auftragsausführungen enthalten.

TriggerType

Dies sind die Triggertypen, die eine Ausführung auslösen können.

Type Beschreibung
PERIODIC Zeitpläne, die in regelmäßigen Abständen Ausführungen auslösen, z. B. ein Cron-Scheduler.
ONE_TIME Einmalige Trigger, die eine einzelne Ausführung auslösen. Dies geschieht, indem Sie eine einzelne Ausführung bei Bedarf über die Benutzeroberfläche oder die API auslösen.
RETRY Gibt eine Ausführung an, die als Wiederholungsversuch einer zuvor fehlgeschlagenen Ausführung ausgelöst wird. Dies geschieht, wenn Sie bei Fehlern eine erneute Ausführung des Auftrags anfordern.

ViewItem

Der exportierte Inhalt weist das HTML-Format auf. Wenn es sich bei der zu exportierenden Ansicht beispielsweise um Dashboards handelt, wird eine HTML-Zeichenfolge für jedes Dashboard zurückgegeben.

Feldname Typ Beschreibung
content STRING Inhalt der Ansicht.
name STRING Name des Ansichtselements. Bei einer Codeansicht ist dies der Name des Notebooks. Bei einer Dashboardansicht ist dies der Name des Dashboards.
type ViewType Typ des Ansichtselements.

ViewType

Type Beschreibung
NOTEBOOK Notebook-Ansichtselement.
DASHBOARD Dashboard-Ansichtselement.

ViewsToExport

Zu exportierende Ansicht: entweder die Codeansicht, alle Dashboardansichten oder alle Ansichten.

Type Beschreibung
CODE Codeansicht des Notebooks.
DASHBOARDS Alle Dashboardansichten des Notebooks.
ALL Alle Ansichten des Notebooks.

Webhook

Feldname Typ Beschreibung
id STRING Bezeichner, der auf ein Systembenachrichtigungsziel verweist. Dies ist ein Pflichtfeld.

WebhookNotifications

Feldname Typ Beschreibung
on_start Ein Array von Webhooks Eine optionale Liste der Systemziele, die benachrichtigt werden sollen, wenn eine Ausführung beginnt. Wenn dieser Wert beim Erstellen, Zurücksetzen oder Aktualisieren des Auftrags nicht angegeben wird, ist die Liste leer, und es werden keine Benachrichtigungen gesendet. Für die Eigenschaft on_start können maximal 3 Ziele angegeben werden.
on_success Ein Array von Webhooks Eine optionale Liste der Systemziele, die benachrichtigt werden sollen, wenn eine Ausführung erfolgreich abgeschlossen wird. Eine Ausführung wird als erfolgreich abgeschlossen betrachtet, wenn sie mit TERMINATEDlife_cycle_state und SUCCESSFULresult_state beendet wird. Wenn dieser Wert beim Erstellen, Zurücksetzen oder Aktualisieren des Auftrags nicht angegeben wird, ist die Liste leer, und es werden keine Benachrichtigungen gesendet. Für die Eigenschaft on_success können maximal 3 Ziele angegeben werden.
on_failure Ein Array von Webhooks Eine optionale Liste der Systemziele, die benachrichtigt werden sollen, wenn eine Ausführung nicht erfolgreich abgeschlossen wird. Eine Ausführung wird als nicht erfolgreich abgeschlossen betrachtet, wenn sie mit INTERNAL_ERROR
life_cycle_state oder result_state vom Typ SKIPPED, FAILED oder TIMED_OUT. Wenn dieser Wert beim Erstellen, Zurücksetzen oder Aktualisieren des Auftrags nicht angegeben wird, ist die Liste leer, und es werden keine Benachrichtigungen gesendet. Für die Eigenschaft on_failure können maximal 3 Ziele angegeben werden.
on_duration_warning_threshold_exceeded Ein Array von Webhooks Eine optionale Liste mit Systemzielen, die benachrichtigt werden sollen, wenn die Dauer einer Ausführung den für die Metrik RUN_DURATION_SECONDS im Feld health angegebenen Schwellenwert überschreitet. Für die Eigenschaft on_duration_warning_threshold_exceeded können maximal 3 Ziele angegeben werden.

WorkspaceStorageInfo

Speicherinformationen des Arbeitsbereichs.

Feldname Typ Beschreibung
destination STRING Ziel der Datei. Beispiel: /Users/someone@domain.com/init_script.sh