Udostępnij za pośrednictwem


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 ResourceConfigelementu . 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,
workspacelub 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,
workspacelub 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.