Automatisieren der Auftragserstellung und -verwaltung
In diesem Artikel erfahren Sie, wie Sie mit Entwicklertools beginnen, um die Erstellung und Verwaltung von Aufträgen zu automatisieren. Es führt Sie mit der Databricks CLI, den Databricks-SDKs und der REST-API ein.
Hinweis
Dieser Artikel enthält Beispiele zum Erstellen und Verwalten von Aufträgen mithilfe der Databricks CLI, des Databricks Python SDK und der REST-API als einfache Einführung in diese Tools. Um Aufträge im Rahmen von CI/CD programmgesteuert zu verwalten, verwenden Sie Databricks Asset Bundles (DABs) oder den Databricks Terraform-Anbieter.
Tools vergleichen
In der folgenden Tabelle werden die Databricks CLI, die Databricks-SDKs und die REST-API zum programmgesteuerten Erstellen und Verwalten von Aufträgen verglichen. Weitere Informationen zu allen verfügbaren Entwicklertools finden Sie unter Local development tools.
Tool | Beschreibung |
---|---|
Databricks-Befehlszeilenschnittstelle | Greifen Sie auf Databricks-Funktionen mithilfe der Befehlszeilenschnittstelle (Databricks Command-Line Interface, CLI) zu, die die REST-API umschließt. Verwenden sie die CLI für einmalige Aufgaben wie Experimente, Shellskripting und direktes Aufrufen der REST-API |
Databricks SDKs | Entwickeln Sie Anwendungen und erstellen Sie benutzerdefinierte Databricks-Workflows mit einem Databricks SDK, das für Python, Java, Go oder R verfügbar ist. Anstatt REST-API-Aufrufe direkt mit Curl oder Postman zu senden, können Sie ein SDK für die Interaktion mit Databricks verwenden. |
Databricks-REST-API | Wenn keine der oben genannten Optionen für Ihren spezifischen Anwendungsfall funktioniert, können Sie die Databricks-REST-API direkt verwenden. Verwenden Sie die REST-API direkt für Anwendungsfälle wie das Automatisieren von Prozessen, bei denen ein SDK in Ihrer bevorzugten Programmiersprache derzeit nicht verfügbar ist. |
Erste Schritte mit der Databricks CLI
Informationen zum Installieren und Konfigurieren der Authentifizierung für die Databricks CLI finden Sie unter Installieren oder Aktualisieren der Databricks CLI- und Authentifizierung für die Databricks CLI-.
Die Databricks CLI verfügt über Befehlsgruppen für Databricks-Features, einschließlich einer für Aufträge, die einen Satz verwandter Befehle enthalten, die auch Unterbefehle enthalten können. Mit der Befehlsgruppe jobs
können Sie Ihre Aufträge und Auftragsläufe mit Aktionen wie create
, delete
und get
verwalten. Da die CLI die Databricks-REST-API umschließt, werden die meisten CLI-Befehle einer REST-API-Anforderung zugeordnet. databricks jobs get
wird beispielsweise GET/api/2.2/jobs/get
zugeordnet.
Verwenden Sie zum Ausgeben detaillierterer Verwendungs- und Syntaxinformationen für die Befehlsgruppe "Aufträge", einen einzelnen Befehl oder einen Unterbefehl das h
Flag:
databricks jobs -h
databricks jobs <command-name> -h
databricks jobs <command-name> <subcommand-name> -h
Beispiel: Abrufen eines Databricks-Auftrags mithilfe der CLI
Um Informationen zu einem einzelnen Auftrag in einem Arbeitsbereich zu drucken, führen Sie den folgenden Befehl aus:
$ databricks jobs get <job-id>
databricks jobs get 478701692316314
Dieser Befehl gibt JSON zurück:
{
"created_time":1730983530082,
"creator_user_name":"someone@example.com",
"job_id":478701692316314,
"run_as_user_name":"someone@example.com",
"settings": {
"email_notifications": {
"no_alert_for_skipped_runs":false
},
"format":"MULTI_TASK",
"max_concurrent_runs":1,
"name":"job_name",
"tasks": [
{
"email_notifications": {},
"notebook_task": {
"notebook_path":"/Workspace/Users/someone@example.com/directory",
"source":"WORKSPACE"
},
"run_if":"ALL_SUCCESS",
"task_key":"success",
"timeout_seconds":0,
"webhook_notifications": {}
},
{
"depends_on": [
{
"task_key":"success"
}
],
"disable_auto_optimization":true,
"email_notifications": {},
"max_retries":3,
"min_retry_interval_millis":300000,
"notebook_task": {
"notebook_path":"/Workspace/Users/someone@example.com/directory",
"source":"WORKSPACE"
},
"retry_on_timeout":false,
"run_if":"ALL_SUCCESS",
"task_key":"fail",
"timeout_seconds":0,
"webhook_notifications": {}
}
],
"timeout_seconds":0,
"webhook_notifications": {}
}
}
Beispiel: Erstellen eines Databricks-Auftrags mithilfe der CLI
Im folgenden Beispiel wird die Databricks CLI verwendet, um einen Databricks-Auftrag zu erstellen. Dieser Auftrag enthält eine einzelne Auftragsaufgabe, die das angegebene Notebook ausführt. Dieses Notizbuch hat eine Abhängigkeit von einer bestimmten Version des wheel
PyPI-Pakets. Zum Ausführen dieser Aufgabe erstellt der Auftrag vorübergehend einen Cluster, der eine Umgebungsvariable namens PYSPARK_PYTHON
exportiert. Nachdem der Auftrag ausgeführt wurde, wird der Cluster beendet.
Kopieren Sie den folgenden JSON-Code, und fügen Sie ihn in eine Datei ein. Sie können auf das JSON-Format eines vorhandenen Auftrags zugreifen, indem Sie die Option JSON- anzeigen aus der Auftragsseiten-UI auswählen.
{ "name": "My hello notebook job", "tasks": [ { "task_key": "my_hello_notebook_task", "notebook_task": { "notebook_path": "/Workspace/Users/someone@example.com/hello", "source": "WORKSPACE" } } ] }
Führen Sie den folgenden Befehl aus, und ersetzen Sie
<file-path>
durch den Pfad und den Namen der soeben erstellten Datei.databricks jobs create --json @<file-path>
Erste Schritte mit dem Databricks SDK
Databricks bietet SDKs, mit denen Sie Vorgänge mit gängigen Programmiersprachen wie Python, Java und Go automatisieren können. In diesem Abschnitt erfahren Sie, wie Sie mit dem Python SDK beginnen, um Databricks-Aufträge zu erstellen und zu verwalten.
Sie können das Databricks SDK aus Ihrem Databricks-Notizbuch oder von Ihrem lokalen Entwicklungscomputer verwenden. Stellen Sie sicher, dass Sie auf Ihrem lokalen Entwicklungscomputer zunächst die Anleitung „Erste Schritte mit dem Databricks SDK für Python“abgeschlossen haben.
Hinweis
Wenn Sie aus einem Databricks-Notizbuch entwickeln und einen Cluster verwenden, der Databricks Runtime 12.2 LTS und unten verwendet, müssen Sie zuerst das Databricks SDK für Python installieren. Siehe Installieren oder Aktualisieren des Databricks SDK für Python.
Beispiel: Erstellen eines Databricks-Auftrags mit dem Python SDK
Der folgende Beispielnotizbuchcode erstellt einen Databricks-Auftrag, der ein vorhandenes Notizbuch ausführt. Er ruft den Pfad des vorhandenen Notizbuchs und die zugehörigen Auftragseinstellungen mit Eingabeaufforderungen ab.
Stellen Sie zunächst sicher, dass die richtige Version des SDK installiert wurde:
%pip install --upgrade databricks-sdk==0.40.0
%restart_python
Führen Sie als Nächstes zum Erstellen eines Auftrags mit einer Notebook-Aufgabe Folgendes aus, und reagieren Sie auf die Eingabeaufforderungen:
from databricks.sdk.service.jobs import JobSettings as Job
from databricks.sdk import WorkspaceClient
job_name = input("Provide a short name for the job, for example, my-job: ")
notebook_path = input("Provide the workspace path of the notebook to run, for example, /Users/someone@example.com/my-notebook: ")
task_key = input("Provide a unique key to apply to the job's tasks, for example, my-key: ")
test_sdk = Job.from_dict(
{
"name": job_name ,
"tasks": [
{
"task_key": task_key,
"notebook_task": {
"notebook_path": notebook_path,
"source": "WORKSPACE",
},
},
],
}
)
w = WorkspaceClient()
j = w.jobs.create(**test_sdk.as_shallow_dict())
print(f"View the job at {w.config.host}/#job/{j.job_id}\n")
Erste Schritte mit der Databricks-REST-API
Hinweis
Databricks empfiehlt die Verwendung der Databricks CLI- und eines Databricks SDK-, es sei denn, Sie verwenden eine Programmiersprache, die nicht über ein entsprechendes Databricks SDK verfügt.
Im folgenden Beispiel wird eine Anforderung an die Databricks-REST-API zum Abrufen von Details für einen einzelnen Auftrag gestellt. Es wird angenommen, dass die Umgebungsvariablen DATABRICKS_HOST
und DATABRICKS_TOKEN
festgelegt wurden, wie unter Authentifizieren mit persönlichen Azure Databricks-Zugriffstoken beschrieben.
$ curl --request GET "https://${DATABRICKS_HOST}/api/2.2/jobs/get" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" \
--data '{ "job": "11223344" }'
Informationen zur Verwendung der Databricks-REST-API finden Sie in der Referenzdokumentation Databricks REST API.
Bereinigung
Führen Sie databricks jobs delete <job-id>
aus der Databricks CLI aus, oder löschen Sie den Auftrag direkt aus der Benutzeroberfläche des Databricks-Arbeitsbereichs, um alle soeben erstellten Aufträge zu löschen.
Nächste Schritte
- Weitere Informationen zur Databricks CLI finden Sie unter Was ist die Databricks CLI? und Databricks CLI-Befehle, um mehr über andere Befehlsgruppen zu erfahren.
- Weitere Informationen zum Databricks SDK finden Sie unter Verwenden von SDKs mit Azure Databricks.
- Weitere Informationen zu CI/CD mit Databricks finden Sie unter Databricks-Ressourcenbundles, Databricks Terraform-Anbieter und Terraform CDKTF für Databricks.
- Eine umfassende Übersicht über alle Entwicklertools finden Sie unter Local development tools.