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 Beispieladb-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 ODERspark_python_task ODER spark_submit_task ODERpipeline_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 oderINTERNAL_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_notifications
angegebenen 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 Beispieladb-1234567890123456.7.azuredatabricks.net
.<job-id>
durch die ID des Auftrags, beispielsweise123
.
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 Beispieladb-1234567890123456.7.azuredatabricks.net
.<job-id>
durch die ID des Auftrags, beispielsweise123
.
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 Beispieladb-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. |
Update
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 Beispieladb-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 oderjob_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.
- Ein Arbeitsbereich kann bis zu 12.000 gespeicherte Aufträge enthalten.
- Ein Auftrag kann bis zu 100 Vorgänge enthalten.
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 Beispieladb-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.
- Ein Arbeitsbereich kann bis zu 12.000 gespeicherte Aufträge enthalten.
- Ein Auftrag kann bis zu 100 Vorgänge enthalten.
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 Beispieladb-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 ODERspark_python_task ODER spark_submit_task ODERpipeline_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 Beispieladb-1234567890123456.7.azuredatabricks.net
.<job-id>
durch die ID des Auftrags, beispielsweise123
.- „
<true-false>
mittrue
oderfalse
“. <offset>
durch denoffset
-Wert.<limit>
durch denlimit
-Wert.<run-type>
durch denrun_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, bei der RunLifecycleState PENDING , RUNNING oder TERMINATING entspricht. 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 Beispieladb-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 Feldsrun_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 dercleanup_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 dersetup_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 Beispieladb-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_state
befindet, 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 Beispieladb-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 Beispieladb-1234567890123456.7.azuredatabricks.net
.<job-id>
durch die ID des Auftrags, beispielsweise123
.
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 Beispieladb-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 Beispieladb-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
- AutoScale
- AzureAttributes
- AzureAvailability
- ClusterInstance
- ClusterLogConf
- ClusterSpec
- ClusterTag
- CronSchedule
- DbfsStorageInfo
- FileStorageInfo
- InitScriptInfo
- Job
- JobEmailNotifications
- JobNotificationSettings
- JobSettings
- JobTask
- JobsHealthRule
- JobsHealthRules
- Bibliothek
- MavenLibrary
- NewCluster
- NotebookOutput
- NotebookTask
- ParamPair
- PipelineTask
- PythonPyPiLibrary
- RCranLibrary
- Run
- RunJobTask
- RunLifeCycleState
- RunParameters
- RunResultState
- RunState
- SparkConfPair
- SparkEnvPair
- SparkJarTask
- SparkPythonTask
- SparkSubmitTask
- TriggerType
- ViewItem
- ViewType
- ViewsToExport
- Webhook
- WebhookNotifications
- WorkspaceStorageInfo
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_id navigieren. 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 ODERdbfs (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 TERMINATED life_cycle_state und SUCCESSFUL result_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 TERMINATED life_cycle_state und SUCCESSFUL result_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 ODERspark_python_task ODER spark_submit_task ODERpipeline_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 oderINTERNAL_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 ODERspark_python_task ODER spark_submit_task ODERpipeline_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 ODERpypi 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 Siespark.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 Was ist ein dynamischer Wertverweis?, um Parameter festzulegen, die Informationen zu Job-Ausfü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:
QUEUED
->PENDING
PENDING
->RUNNING
->TERMINATING
->TERMINATED
PENDING
->SKIPPED
PENDING
->INTERNAL_ERROR
RUNNING
->INTERNAL_ERROR
TERMINATING
->INTERNAL_ERROR
Zustand | Beschreibung |
---|---|
QUEUED |
Die Ausführung wurde ausgelöst, aber wurde in die Warteschlange eingereiht, da sie einen der folgenden Grenzwerte erreicht hat: – Die maximale Anzahl gleichzeitig aktiver Ausführungen im Arbeitsbereich. – Die maximale Anzahl gleichzeitiger Ausführungen des Run Job -Tasks im Arbeitsbereich.– Die maximale Anzahl gleichzeitiger Ausführungen des Auftrags. Für den Auftrag oder die Ausführung muss die Warteschlange aktiviert sein, damit dieser Status eintreten kann. |
PENDING |
Die Ausführung wurde ausgelöst. Wenn die konfigurierten maximalen gleichzeitigen Ausführungen des Auftrags bereits erreicht sind, wechselt die Ausführung sofort in den Status SKIPPED , ohne Ressourcen vorzubereiten. Andernfalls laufen die Vorbereitung des Clusters und die Ausführung. |
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 Was ist ein dynamischer Wertverweis?, um Parameter festzulegen, die Informationen zu Job-Ausfü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 Was ist ein dynamischer Wertverweis?, um Parameter festzulegen, die Informationen zu Job-Ausfü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 Was ist ein dynamischer Wertverweis?, um Parameter festzulegen, die Informationen zu Job-Ausfü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 Was ist ein dynamischer Wertverweis?, um Parameter festzulegen, die Informationen zu Job-Ausfü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
oderSKIPPED
: 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 Was ist ein dynamischer Wertverweis?, um Parameter festzulegen, die Informationen zu Job-Ausfü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 Was ist ein dynamischer Wertverweis?, um Parameter festzulegen, die Informationen zu Job-Ausführungen enthalten. |
SparkSubmitTask
Wichtig
- Sie können spark submit-Aufgaben nur für neue Cluster aufrufen.
- In der new_cluster-Spezifikation werden
libraries
undspark_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
undexecutor-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 Was ist ein dynamischer Wertverweis?, um Parameter festzulegen, die Informationen zu Job-Ausfü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 TERMINATED life_cycle_state und SUCCESSFUL result_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 TIMED_OUT result_state . 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 |