Interfejs wiersza polecenia stosu (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. Usługa Databricks zaleca użycie nowszego interfejsu wiersza polecenia usługi Databricks w wersji 0.205 lub nowszej. 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 interfejsu wiersza polecenia stosu. Usługa Databricks zaleca zamiast tego użycie dostawcy narzędzia Terraform usługi Databricks.
Uwaga
Interfejs wiersza polecenia stosu wymaga interfejsu wiersza polecenia usługi 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 interfejsu wiersza polecenia stosu z szablonem JSON konfiguracji stosu, aby wdrożyć stos i zarządzać nim.
Uruchamiasz polecenia interfejsu wiersza polecenia stosu usługi Databricks, dołączając je do databricks stack
polecenia .
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]
Wdrażanie stosu w obszarze roboczym
To podpolecenie wdraża stos. Zobacz Konfigurowanie stosu, aby dowiedzieć się, jak skonfigurować stos.
databricks stack deploy ./config.json
Szablon JSON konfiguracji stosu zawiera przykład .config.json
Pobieranie zmian notesu stosu
To podpolecenia pobiera notesy 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 notes główny wraz notebooks/common/notebook.scala
z notesami 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 zasóbConfig. Każdy ResourceConfig
, który reprezentuje 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 DBFS (path
).
Schemat szablonu konfiguracji stosu przedstawia schemat szablonu konfiguracji stosu.
Wdrażanie stosu
Stos jest wdrażany przy użyciu databricks stack deploy <configuration-file>
polecenia .
databricks stack deploy ./config.json
Podczas wdrażania stosu zasoby systemu plików DBFS i obszaru roboczego są przekazywane do obszaru roboczego i zadań usługi Azure Databricks.
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 polecenia stosu do śledzenia przeszłych wdrożonych zasobów w obszarze 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 stosu
StackConfig
Są to zewnętrzne pola szablonu konfiguracji stosu. Wszystkie pola są wymagane.
Nazwa pola | Type | opis |
---|---|---|
name | STRING |
Nazwa stosu. |
zasoby | Lista konfiguracji zasobów | Zasób w usłudze Azure Databricks. Zasoby są powiązane z trzema usługami (przestrzeniami nazw interfejsu API REST): obszar roboczy, zadania i dbfs. |
Konfiguracja zasobów
Pola dla każdego ResourceConfig
elementu . Wszystkie pola są wymagane.
Nazwa pola | Type | Opis |
---|---|---|
identyfikator | STRING |
Unikatowy identyfikator zasobu. Unikatowość konfiguracji zasobów jest wymuszana. |
service | 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 obszarze różnią się w zależności od ResourceConfig usługi. |
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.
service | Pola z interfejsu API REST używanego w interfejsie wiersza polecenia stosu | Pola używane tylko w interfejsie wiersza polecenia stosu |
---|---|---|
obszar roboczy | path: STRING — zdalne ścieżki obszaru roboczego notesów lub katalogów. (Np. /Users/example@example.com/notebook )object_type: Interfejs API obszaru roboczego — typ obiektu notesu. Może mieć tylko wartość NOTEBOOK lub DIRECTORY . |
source_path: STRING — lokalna ścieżka źródłowa notesów lub katalogów obszaru roboczego. Ścieżka względna do pliku szablonu konfiguracji stosu lub ścieżki bezwzględnej w systemie plików. |
Zadania | Dowolne pole w ustawieniach lub strukturze new_settings. Jedynym polem, które nie jest wymagane w ustawieniach lub new_settings strukturze , ale wymagane dla interfejsu wiersza polecenia stosu jest: name: STRING — nazwa zadania do wdrożenia. Aby nie tworzyć zbyt wielu zduplikowanych zadań, interfejs wiersza polecenia stosu wymusza unikatowe nazwy w wdrożonych zadaniach 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żki bezwzględnej w 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 interfejs wiersza polecenia stosu.
Usługa | opis |
---|---|
obszar roboczy | Notes lub 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 | Type | opis |
---|---|---|
name | 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. |
deployed_resources | Lista parametrów ResourceStatus | 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 | Type | Opis |
---|---|---|
identyfikator | STRING |
Unikatowy identyfikator stosu dla zasobu. |
service | 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 | Type | Opis |
---|---|---|---|
obszar roboczy | path | STRUNA | Ścieżka bezwzględna notesu lub katalogu w obszarze roboczym usługi Azure Databricks. Nazewnictwo jest zgodne z interfejsem API obszaru roboczego. |
Zadania | job_id | STRUNA | Identyfikator zadania, jak pokazano w obszarze roboczym usługi Azure Databricks. Może to służyć do aktualizowania już wdrożonych zadań. |
dbfs | path | STRUNA | Ścieżka bezwzględna notesu lub katalogu w obszarze roboczym usługi Azure Databricks. Nazewnictwo jest zgodne z interfejsem API systemu plików DBFS. |