Interfejs wiersza polecenia stosu (CLI) (starsza wersja)
Ważne
Ta dokumentacja została wycofana i może nie zostać zaktualizowana.
Te informacje dotyczą starszych wersji interfejsu wiersza polecenia usługi Databricks w wersji 0.18 i poniżej. Databricks zaleca użycie nowszej wersji 0.205 lub nowszej narzędzia CLI Databricks. Zobacz Co to jest interfejs wiersza polecenia usługi Databricks?. Aby znaleźć swoją wersję interfejsu wiersza polecenia usługi Databricks, uruchom polecenie databricks -v
.
Aby przeprowadzić migrację z interfejsu wiersza polecenia usługi Databricks w wersji 0.18 lub nowszej do interfejsu wiersza polecenia usługi Databricks w wersji 0.205 lub nowszej, zobacz Migracja interfejsu wiersza polecenia usługi Databricks.
Interfejs wiersza polecenia usługi Databricks w wersji 0.205 lub nowszej nie obsługuje polecenia stack CLI. Zaleca się, aby zamiast tego użyć dostawcy Databricks Terraform.
Uwaga
Interfejs wiersza polecenia stosu wymaga CLI Databricks w wersji 0.8.3 lub nowszej.
Interfejs wiersza polecenia stosu umożliwia zarządzanie stosem zasobów usługi Azure Databricks, takich jak zadania, notesy i pliki DBFS. Notesy i pliki DBFS można przechowywać lokalnie i tworzyć szablon JSON konfiguracji stosu, który definiuje mapowania z plików lokalnych na ścieżki w obszarze roboczym usługi Azure Databricks oraz konfiguracje zadań, które uruchamiają notesy.
Użyj stosu CLI wraz z szablonem JSON dla konfiguracji stosu, aby wdrożyć i zarządzać swoim stosem.
Uruchamiasz polecenia CLI stosu usługi Databricks, dołączając je do databricks stack
.
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]
Wdróż stos do obszaru roboczego
To podpolecenie wdraża stos. Zobacz Konfiguracja stosu, aby dowiedzieć się, jak skonfigurować stos.
databricks stack deploy ./config.json
Szablon JSON konfiguracji stosu zawiera przykład config.json
.
Pobierz zmiany stosu notesu
To podpłecone pobiera notatniki stosu.
databricks stack download ./config.json
Przykłady
Konfiguracja stosu
Struktura pliku przykładowego stosu
tree
.
├── notebooks
| ├── common
| | └── notebook.scala
| └── config
| ├── environment.scala
| └── setup.sql
├── lib
| └── library.jar
└── config.json
Ten przykładowy stos zawiera notatnik główny w notebooks/common/notebook.scala
razem z notatnikami konfiguracji w folderze notebooks/config
. Istnieje zależność biblioteki JAR stosu w pliku lib/library.jar
.
config.json
to szablon JSON konfiguracji stosu. Jest to przekazywane do interfejsu wiersza polecenia stosu na potrzeby wdrażania stosu.
Szablon JSON konfiguracji stosu
Szablon konfiguracji stosu opisuje konfigurację stosu.
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"
}
]
}
}
]
}
Każde zadanie, notes obszaru roboczego, katalog obszaru roboczego, plik DBFS lub katalog DBFS jest definiowany jako ResourceConfig. Każda ResourceConfig
reprezentująca obszar roboczy lub zasób DBFS zawiera mapowanie z pliku lub katalogu, w którym istnieje lokalnie (source_path
), do miejsca, w którym istnieje w obszarze roboczym lub systemie plików DBFS (path
).
Schemat szablonu konfiguracji stosu przedstawia strukturę tego szablonu.
Wdróż stos
Wdrażasz stos za pomocą polecenia databricks stack deploy <configuration-file>
.
databricks stack deploy ./config.json
Podczas wdrażania stosu zasoby systemu plików DBFS i obszaru roboczego są przesyłane do obszaru roboczego Azure Databricks, a zadania są tworzone.
W czasie wdrażania stosu plik JSON stackStatus dla wdrożenia jest zapisywany w tym samym katalogu co szablon konfiguracji stosu o nazwie, dodając deployed
bezpośrednio przed .json
rozszerzeniem: (na przykład ./config.deployed.json
). Ten plik jest używany przez interfejs wiersza poleceń Stack CLI, aby śledzić wcześniej wdrożone zasoby w twoim środowisku roboczym.
schemat stanu stosu przedstawia schemat konfiguracji stosu.
Ważne
Nie próbuj edytować ani przenosić pliku stanu stosu. Jeśli wystąpią jakiekolwiek błędy dotyczące pliku stanu stosu, usuń plik i spróbuj ponownie przeprowadzić wdrożenie.
./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"
}
Struktury danych
W tej sekcji:
schemat szablonu konfiguracji Stack
StackConfig
Są to zewnętrzne pola szablonu konfiguracji stosu. Wszystkie pola są wymagane.
Nazwa pola | Typ | opis |
---|---|---|
imię/nazwa | STRING |
Nazwa stosu. |
zasoby | Lista zasobów ResourceConfig | Zasób w usłudze Azure Databricks. Zasoby są powiązane z trzema usługami (przestrzeniami nazw interfejsu API REST): workspace, jobs i dbfs. |
Konfiguracja zasobów
Pola dla każdego ResourceConfig
elementu . Wszystkie pola są wymagane.
Nazwa pola | Typ | opis |
---|---|---|
identyfikator | STRING |
Unikatowy identyfikator zasobu. Unikatowość ResourceConfig jest wymuszana. |
usługa | ResourceService | Usługa interfejsu API REST, na którą działa zasób. Jeden z: jobs ,workspace lub dbfs . |
właściwości | Właściwości zasobów | Pola w tym różnią się w zależności od usługi ResourceConfig . |
Właściwości zasobów
Właściwości zasobu według usługi ResourceService. Pola są klasyfikowane jako używane lub nieużytowane w interfejsie API REST usługi Azure Databricks. Wszystkie wymienione pola są wymagane.
usługa | Pola z interfejsu API REST używanego w Stack CLI | Pola używane tylko w interfejsie CLI stosu |
---|---|---|
obszar roboczy | path: STRING — zdalne ścieżki robocze notatników lub katalogów. (Np. /Users/example@example.com/notebook )object_type: Workspace API - typ obiektu notesu. Może mieć tylko wartość NOTEBOOK lub DIRECTORY . |
source_path: STRING — lokalna ścieżka źródłowa zeszytów lub katalogów obszaru roboczego. Ścieżka względna do pliku szablonu konfiguracji stosu lub bezwzględna ścieżka w Twoim systemie plików. |
Zadania | Dowolne pole w ustawieniach lub strukturze new_settings. Jedynym polem, które nie jest wymagane w ustawieniach lub strukturze new_settings, ale jest wymagane dla interfejsu wiersza polecenia stosu, jest: name: STRING — nazwa zadania do wdrożenia. Aby nie tworzyć zbyt wielu zduplikowanych zadań, Stack CLI wymusza unikatowe nazwy w zadaniach uruchomionych za pomocą stosu. |
Brak. |
dbfs | path: STRING — dopasowywanie zdalnej ścieżki systemu plików DBFS. Musi zaczynać się od dbfs:/ . (np. dbfs:/this/is/a/sample/path )is_dir: BOOL — czy ścieżka systemu plików DBFS jest katalogiem, czy plikiem. |
source_path: STRING — lokalna ścieżka źródłowa plików DBFS lub katalogów. Ścieżka względna do pliku szablonu konfiguracji stosu lub ścieżka bezwzględna w twoim systemie plików. |
ResourceService
Każdy zasób należy do określonej usługi, która jest zgodna z interfejsem API REST usługi Databricks. Są to usługi obsługiwane przez Stack CLI.
Usługa | opis |
---|---|
obszar roboczy | Notatnik czy katalog obszaru roboczego. |
Zadania | Zadanie usługi Azure Databricks. |
dbfs | Plik lub katalog DBFS. |
Schemat stanu stosu
StackStatus
Plik stanu stosu jest tworzony po wdrożeniu stosu przy użyciu interfejsu wiersza polecenia. Pola najwyższego poziomu to:
Nazwa pola | Typ | opis |
---|---|---|
imię | STRING |
Nazwa stosu. To pole jest tym samym polem co w pliku StackConfig. |
cli_version | STRING |
Wersja interfejsu wiersza polecenia usługi Databricks używana do wdrażania stosu. |
wdrożone zasoby | Lista statusu zasobu | Stan każdego wdrożonego zasobu. Dla każdego zasobu zdefiniowanego w usłudze StackConfig zostanie wygenerowany odpowiedni parametr ResourceStatus w tym miejscu. |
ResourceStatus
Nazwa pola | Typ | opis |
---|---|---|
identyfikator | STRING |
Unikalny w stosie identyfikator dla zasobu. |
usługa | ResourceService | Usługa interfejsu API REST, na którą działa zasób. Jeden z: jobs ,workspace lub dbfs . |
databricks_id | DatabricksId | Identyfikator fizyczny wdrożonego zasobu. Rzeczywisty schemat zależy od typu (usługi) zasobu. |
DatabricksId
Obiekt JSON, którego pole zależy od usługi.
Usługa | Pole w formacie JSON | Typ | opis |
---|---|---|---|
obszar roboczy | ścieżka | STRUNA | Ścieżka bezwzględna notesu lub katalogu w środowisku Azure Databricks. Nazewnictwo jest zgodne z API obszaru roboczego. |
Zadania | identyfikator_zadania | STRUNA | Identyfikator pracy, jak pokazano w obszarze roboczym usługi Azure Databricks. Może to służyć do aktualizowania już wdrożonych zadań. |
dbfs | ścieżka | STRUNA | Ścieżka bezwzględna notesu lub katalogu w przestrzeni roboczej Azure Databricks. Nazewnictwo jest zgodne z API DBFS. |