Stapel CLI (Legacy)
Wichtig
Diese Dokumentation wurde eingestellt und wird unter Umständen nicht aktualisiert.
Diese Informationen gelten für ältere Versionen der Databricks-Befehlszeilenschnittstelle (0.18 und niedriger). Databricks empfiehlt, stattdessen die neuere Databricks-CLI Version 0.205 oder höher zu verwenden. Weitere Informationen finden Sie unter Was ist die Databricks-CLI?. Führen Sie databricks -v
aus, um die Version Ihrer Databricks CLI zu ermitteln.
Informationen zum Migrieren der Databricks CLI-Version 0.18 oder niedriger zur Databricks CLI-Version 0.205 oder höher finden Sie unter Databricks CLI-Migration.
Databricks CLI-Versionen 0.205 und höher unterstützen die Stapelbefehlszeilenschnittstelle nicht. Databricks empfiehlt, stattdessen den Databricks Terraform-Anbieter zu verwenden.
Hinweis
Die Stapel-CLI erfordert Databricks CLI 0.8.3 oder höher.
Die Stapel-CLI ermöglicht die Verwaltung eines Stapels mit Azure Databricks-Ressourcen wie Aufträgen, Notebooks und DBFS-Dateien. Sie können Notebooks und DBFS-Dateien lokal speichern und eine JSON-Vorlage für die Stapelkonfiguration erstellen, die Zuordnungen aus Ihren lokalen Dateien zu Pfaden in Ihrem Azure Databricks-Arbeitsbereich sowie Konfigurationen von Aufträgen definiert, die die Notebooks ausführen.
Verwenden Sie die Stapel-CLI mit der JSON-Vorlage für die Stapelkonfiguration, um Ihren Stapel bereitzustellen und zu verwalten.
Sie führen Unterbefehle über die Stapel-CLI für Databricks aus, indem Sie sie an databricks stack
anfügen.
databricks stack --help
Usage: databricks stack [OPTIONS] COMMAND [ARGS]...
[Beta] Utility to deploy and download Databricks resource stacks.
Options:
-v, --version [VERSION]
--debug Debug Mode. Shows full stack trace on error.
--profile TEXT CLI connection profile to use. The default profile is
"DEFAULT".
-h, --help Show this message and exit.
Commands:
deploy Deploy a stack of resources given a JSON configuration of the stack
Usage: databricks stack deploy [OPTIONS] CONFIG_PATH
Options:
-o, --overwrite Include to overwrite existing workspace notebooks and DBFS
files [default: False]
download Download workspace notebooks of a stack to the local filesystem
given a JSON stack configuration template.
Usage: databricks stack download [OPTIONS] CONFIG_PATH
Options:
-o, --overwrite Include to overwrite existing workspace notebooks in the
local filesystem [default: False]
Bereitstellen eines Stapels in einem Arbeitsbereich
Dieser Unterbefehl stellt einen Stapel bereit. Informationen zum Einrichten eines Stapels finden Sie unter Stapeleinrichtung.
databricks stack deploy ./config.json
Die JSON-Vorlage für die Stapelkonfiguration enthält ein Beispiel für config.json
.
Herunterladen von Änderungen am Stapelnotebook
Dieser Unterbefehl lädt die Notebooks eines Stapels herunter.
databricks stack download ./config.json
Beispiele
Stapeleinrichtung
Dateistruktur eines Beispielstapels
tree
.
├── notebooks
| ├── common
| | └── notebook.scala
| └── config
| ├── environment.scala
| └── setup.sql
├── lib
| └── library.jar
└── config.json
Dieser Beispielstapel enthält ein Hauptnotebook in notebooks/common/notebook.scala
und Konfigurationsnotebooks im Ordner notebooks/config
. Es besteht eine JAR-Bibliotheksabhängigkeit des Stapels in lib/library.jar
. config.json
ist die JSON-Vorlage für die Stapelkonfiguration des Stapels. Diese wird an die Stapel-CLI für die Bereitstellung des Stapels übergeben.
JSON-Vorlage für die Stapelkonfiguration
Die Stapelkonfigurationsvorlage beschreibt die Stapelkonfiguration.
cat config.json
{
"name": "example-stack",
"resources": [
{
"id": "example-workspace-notebook",
"service": "workspace",
"properties": {
"source_path": "notebooks/common/notebook.scala",
"path": "/Users/example@example.com/dev/notebook",
"object_type": "NOTEBOOK"
}
},
{
"id": "example-workspace-config-dir",
"service": "workspace",
"properties": {
"source_path": "notebooks/config",
"path": "/Users/example@example.com/dev/config",
"object_type": "DIRECTORY"
}
},
{
"id": "example-dbfs-library",
"service": "dbfs",
"properties": {
"source_path": "lib/library.jar",
"path": "dbfs:/tmp/lib/library.jar",
"is_dir": false
}
},
{
"id": "example-job",
"service": "jobs",
"properties": {
"name": "Example Stack CLI Job",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_DS3_v2",
"num_workers": 3
},
"timeout_seconds": 7200,
"max_retries": 1,
"notebook_task": {
"notebook_path": "/Users/example@example.com/dev/notebook"
},
"libraries": [
{
"jar": "dbfs:/tmp/lib/library.jar"
}
]
}
}
]
}
Jeder Auftrag, jedes Arbeitsbereichsnotebook, jedes Arbeitsbereichsverzeichnis, jede DBFS-Datei oder jedes DBFS-Verzeichnis wird als ResourceConfig definiert. Jede ResourceConfig
, die einen Arbeitsbereich oder ein DBFS-Objekt darstellt, enthält eine Zuordnung aus der Datei oder dem Verzeichnis, in der bzw. dem sie lokal vorhanden ist (source_path
), zu dem Ort, wo sie sich im Arbeitsbereich oder DBFS (path
) befinden würde.
Das Schema der Stapelkonfigurationsvorlage beschreibt das Schema für die Stapelkonfigurationsvorlage.
Bereitstellen eines Stapels
Sie stellen einen Stapel mit dem Befehl databricks stack deploy <configuration-file>
bereit.
databricks stack deploy ./config.json
Während der Stapelbereitstellung werden die DBFS- und Arbeitsbereichsobjekte in den Azure Databricks-Arbeitsbereich hochgeladen, und Aufträge werden erstellt.
Zum Zeitpunkt der Stapelbereitstellung wird eine StackStatus-JSON-Datei für die Bereitstellung im selben Verzeichnis wie die Stapelkonfigurationsvorlage mit dem Namen gespeichert, wobei deployed
unmittelbar vor der .json
-Erweiterung hinzugefügt wird: (z. B. ./config.deployed.json
). Diese Datei wird von der Stapel-CLI verwendet, um die bereits bereitgestellten Ressourcen in Ihrem Arbeitsbereich nachzuverfolgen.
Das Stapelstatusschema beschreibt das Schema einer Stapelkonfiguration.
Wichtig
Bearbeiten oder verschieben Sie nicht die Stapelstatusdatei. Wenn Sie Fehler in Bezug auf die Stapelstatusdatei erhalten, löschen Sie die Datei, und führen Sie die Bereitstellung noch einmal durch.
./config.deployed.json
{
"cli_version": "0.8.3",
"deployed_output": [
{
"id": "example-workspace-notebook",
"databricks_id": {
"path": "/Users/example@example.com/dev/notebook"
},
"service": "workspace"
},
{
"id": "example-workspace-config-dir",
"databricks_id": {
"path": "/Users/example@example.com/dev/config"
},
"service": "workspace"
},
{
"id": "example-dbfs-library",
"databricks_id": {
"path": "dbfs:/tmp/lib/library.jar"
},
"service": "dbfs"
},
{
"id": "example-job",
"databricks_id": {
"job_id": 123456
},
"service": "jobs"
}
],
"name": "example-stack"
}
Datenstrukturen
Inhalt dieses Abschnitts:
Schema der Stapelkonfigurationsvorlage
StackConfig
Dies sind die äußeren Felder einer Stapelkonfigurationsvorlage. Alle Felder sind erforderlich.
Feldname | Typ | BESCHREIBUNG |
---|---|---|
name | STRING |
Der Name des Stapels. |
ressourcen | Liste der ResourceConfig-Objekte | Ein Objekt in Azure Databricks. Ressourcen beziehen sich auf drei Dienste (REST-API-Namespaces): Arbeitsbereich, Aufträge und DBFS. |
ResourceConfig
Die Felder für jede ResourceConfig
. Alle Felder sind erforderlich.
Feldname | Typ | Beschreibung |
---|---|---|
id | STRING |
Eine eindeutige ID für die Ressource. Die Eindeutigkeit von ResourceConfig wird erzwungen. |
service | ResourceService | Der REST-API-Dienst, mit dem die Ressource arbeitet. Eine der folgenden Ressourcen jobs ,workspace oder dbfs . |
properties | ResourceProperties | Die Felder in diesem unterscheiden sich je nach ResourceConfig -Dienst. |
ResourceProperties
Die Eigenschaften einer Ressource nach ResourceService. Die Felder werden als verwendete oder nicht verwendete Felder in einer Azure Databricks-REST API klassifiziert. Alle aufgeführten Felder sind erforderlich.
service | Felder aus der REST-API, die in der Stapel-CLI verwendet werden | Nur in der Stapel-CLI verwendete Felder |
---|---|---|
Arbeitsbereich | path: STRING : Remotearbeitsbereichspfade von Notebooks oder Verzeichnissen. (Beispiel /Users/example@example.com/notebook )object_type: Arbeitsbereichs-API – Notebook-Objekttyp. Kann nur NOTEBOOK oder DIRECTORY sein. |
source_path: STRING : Lokaler Quellpfad von Arbeitsbereichsnotebooks oder -verzeichnissen. Ein relativer Pfad zur Vorlagendatei der Stapelkonfiguration oder ein absoluter Pfad in Ihrem Dateisystem. |
jobs | Jedes Feld in den Einstellungen oder in der Struktur „new_settings“. Das einzige Feld, das in den Einstellungen oder in der Struktur „new_settings“ nicht erforderlich ist, für die Stapel-CLI erforderlich hingegen schon, ist: name: STRING : Der Name des bereitzustellenden Auftrags. Die Stapel-CLI erzwingt eindeutige Namen für die im Stapel bereitgestellten Aufträgen, damit nicht zu viele doppelte Aufträge erstellt werden. |
None (Keine): |
dbfs | path: STRING : Entspricht dem DBFS-Remotepfad. Muss mit dbfs:/ beginnen. (Beispiel dbfs:/this/is/a/sample/path )is_dir: BOOL : Gibt an, ob ein DBFS-Pfad ein Verzeichnis oder eine Datei ist. |
source_path: STRING : Lokaler Quellpfad von DBFS-Dateien oder -Verzeichnissen. Ein relativer Pfad zur Vorlagendatei der Stapelkonfiguration oder ein absoluter Pfad in Ihrem Dateisystem. |
ResourceService
Jede Ressource gehört zu einem bestimmten Dienst, der an der Databricks-REST-API ausgerichtet ist. Dies sind die Dienste, die von der Stapel-CLI unterstützt werden.
Dienst | BESCHREIBUNG |
---|---|
Arbeitsbereich | Ein Arbeitsbereichsnotebook oder -verzeichnis. |
jobs | Ein Azure Databricks-Auftrag. |
dbfs | Eine DBFS-Datei oder ein DBFS-Verzeichnis. |
Stapelstatusschema
StackStatus
Eine Stapelstatusdatei wird erstellt, nachdem ein Stapel über die CLI bereitgestellt wurde. Die Felder der obersten Ebene sind:
Feldname | Typ | BESCHREIBUNG |
---|---|---|
name | STRING |
Der Name des Stapels. Dieses Feld ist das gleiche Feld wie in StackConfig. |
cli_version | STRING |
Die Version der Databricks-CLI, die zum Bereitstellen des Stapels verwendet wird. |
deployed_resources | Liste der ResourceStatus-Objekte | Der Status jeder bereitgestellten Ressource. Für jede in StackConfig definierte Ressource wird hier ein entsprechender ResourceStatus generiert. |
ResourceStatus
Feldname | Typ | Beschreibung |
---|---|---|
id | STRING |
Eine für den Stapel eindeutige Ressourcen-ID. |
service | ResourceService | Der REST-API-Dienst, mit dem die Ressource arbeitet. Eine der folgenden Ressourcen jobs ,workspace oder dbfs . |
databricks_id | DatabricksId | Die physische ID der bereitgestellten Ressource. Das tatsächliche Schema hängt vom Typ (Dienst) der Ressource ab. |
DatabricksId
Ein JSON-Objekt, dessen Feld vom Dienst abhängt.
Dienst | Feld in JSON | Type | BESCHREIBUNG |
---|---|---|---|
Arbeitsbereich | path | STRING | Der absolute Pfad des Notebooks oder Verzeichnisses in einem Azure Databricks-Arbeitsbereich. Die Benennung entspricht der Arbeitsbereichs-API. |
jobs | job_id | STRING | Die Auftrags-ID, wie in einem Azure Databricks-Arbeitsbereich dargestellt. Diese kann zum Aktualisieren bereits bereitgestellter Aufträge verwendet werden. |
dbfs | path | STRING | Der absolute Pfad des Notebooks oder Verzeichnisses in einem Azure Databricks-Arbeitsbereich. Die Benennung entspricht der DBFS-API. |