Udostępnij za pośrednictwem


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 stackpolecenia .

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