Bagikan melalui


Stack CLI (versi lama)

Penting

Dokumentasi ini telah dihentikan dan mungkin tidak diperbarui.

Informasi ini berlaku untuk CLI Databricks warisan versi 0.18 ke bawah. Databricks merekomendasikan agar Anda menggunakan Databricks CLI versi 0.205 atau lebih baru. Lihat Apa itu Databricks CLI?. Untuk menemukan versi Databricks CLI Anda, jalankan databricks -v.

Untuk bermigrasi dari Databricks CLI versi 0.18 atau di bawahnya ke Databricks CLI versi 0.205 atau lebih tinggi, lihat migrasi CLI Databricks.

Databricks CLI versi 0.205 dan di atasnya tidak mendukung stack CLI. Databricks merekomendasikan agar Anda menggunakan penyedia Databricks Terraform sebagai gantinya.

Catatan

Stack CLI memerlukan Databricks CLI 0.8.3 atau lebih tinggi.

Tumpukan CLI menyediakan cara untuk mengelola setumpuk sumber daya Azure Databricks, seperti pekerjaan, buku catatan, dan file DBFS. Anda dapat menyimpan notebook dan file DBFS secara lokal dan membuat template JSON untuk konfigurasi stack yang menentukan pemetaan dari file lokal Anda ke jalur di ruang kerja Azure Databricks Anda, bersama dengan konfigurasi tugas yang menjalankan notebook.

Gunakan stack CLI dengan templat JSON konfigurasi stack untuk menerapkan dan mengelola stack Anda.

Anda menjalankan subperintah tumpukan CLI Databricks dengan menambahkannya ke 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]

Menyebarkan tumpukan ke ruang kerja

Subperintah ini menyebarkan tumpukan. Lihat Pengaturan Stack untuk mempelajari cara menyiapkan stack.

databricks stack deploy ./config.json

Templat JSON konfigurasi tumpukan memberikan contoh config.json.

Unduh perubahan stack notebook

Subperintah ini mengunduh buku catatan dari stack.

databricks stack download ./config.json

Contoh

Pengaturan tumpukan

Struktur file dari tumpukan contoh

tree
.
├── notebooks
|   ├── common
|   |   └── notebook.scala
|   └── config
|       ├── environment.scala
|       └── setup.sql
├── lib
|   └── library.jar
└── config.json

Tumpukan contoh ini berisi buku catatan utama notebooks/common/notebook.scala bersama dengan buku catatan konfigurasi di notebooks/config folder. Ada ketergantungan perpustakaan JAR dari tumpukan di lib/library.jar. config.json adalah templat JSON konfigurasi dari stack tersebut. Inilah yang diteruskan ke dalam CLI stack untuk penerapan stack.

Templat JSON konfigurasi tumpukan

Templat konfigurasi tumpukan menjelaskan konfigurasi tumpukan.

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"
          }
        ]
      }
    }
  ]
}

Setiap pekerjaan, buku catatan ruang kerja, direktori ruang kerja, file DBFS, atau direktori DBFS didefinisikan sebagai ResourceConfig. Masing-masing ResourceConfig yang mewakili ruang kerja atau aset DBFS berisi pemetaan dari file atau direktori di mana ia ada secara lokal (source_path) ke tempat itu akan ada di ruang kerja atau DBFS (path).

Skema templat konfigurasi tumpukan menguraikan skema untuk templat konfigurasi tumpukan.

Menyebarkan tumpukan

Anda menyebarkan tumpukan menggunakan perintah databricks stack deploy <configuration-file>.

databricks stack deploy ./config.json

Selama penyebaran stack, aset DBFS dan aset ruang kerja diunggah ke ruang kerja Azure Databricks Anda dan pekerjaan dibuat.

Saat proses deployment stack, file JSON StackStatus untuk deployment disimpan di direktori yang sama dengan template konfigurasi stack dengan nama, menambahkan deployed tepat sebelum ekstensi .json: (misalnya, ./config.deployed.json). File ini digunakan oleh Stack CLI untuk memantau sumber daya yang telah disebarkan sebelumnya di ruang kerja Anda.

Skema status tumpukan menguraikan skema konfigurasi tumpukan.

Penting

Jangan mencoba mengedit atau memindahkan file status tumpukan. Jika Anda mendapatkan kesalahan mengenai file status tumpukan, hapus file itu dan coba melakukan penyebaran lagi.

./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"
}

Struktur data

Di bagian ini:

Skema templat konfigurasi stack

StackConfig

Ini adalah bidang luar templat konfigurasi tumpukan. Semua bidang wajib diisi.

Nama Bidang Jenis Deskripsi
nama STRING Nama dari tumpukan.
sumber daya Daftar ResourceConfig Aset di Azure Databricks. Sumber daya terkait dengan tiga layanan (namespace layanan REST API): ruang kerja, tugas, dan DBFS.

ResourceConfig

Bidang untuk masing-masing ResourceConfig. Semua bidang wajib diisi.

Nama Bidang Jenis Deskripsi
id STRING ID unik untuk sumber daya. Keunikan ResourceConfig dipastikan.
layanan ResourceService Layanan REST API tempat sumber daya beroperasi. Salah satu dari jobs,
workspace, atau dbfs.
properti ResourceProperties Bidang dalam hal ini berbeda tergantung layanan.ResourceConfig

ResourceProperties

Properti sumber daya dari ResourceService. Bidang diklasifikasikan sebagai yang digunakan atau tidak digunakan dalam REST API Azure Databricks. Semua bidang yang tercantum diperlukan.

layanan Bidang dari REST API yang digunakan di Stack Antarmuka Baris Perintah (CLI) Bidang yang hanya digunakan di Stack CLI
ruang kerja jalur: STRING- Jalur ruang kerja jarak jauh terkait dengan buku catatan atau direktori. (Mis. /Users/example@example.com/notebook)
object_type: API Ruang Kerja - Jenis objek Notebook. Hanya bisa NOTEBOOK atau DIRECTORY.
source_path: STRING- Jalur sumber lokal untuk notebook atau direktori di ruang kerja. Jalur relatif ke file templat konfigurasi tumpukan atau jalur absolut di sistem file Anda.
pekerjaan Bidang apa pun dalam pengaturan atau struktur new_settings. Satu-satunya kolom yang tidak diperlukan dalam pengaturan atau struktur new_settings, tetapi diperlukan untuk perintah CLI adalah:
nama: STRING- Nama pekerjaan yang akan digunakan. Untuk mencegah penciptaan terlalu banyak pekerjaan duplikat, Stack CLI memberlakukan nama unik pada pekerjaan yang diterapkan.
Tidak ada.
dbfs jalur: STRING- Mencocokkan jalur DBFS jarak jauh. Harus dimulai dengan dbfs:/. (mis. dbfs:/this/is/a/sample/path)
is_dir: BOOL- Apakah jalur DBFS adalah direktori atau file.
source_path: STRING- Jalur sumber lokal file atau direktori DBFS. Jalur relatif ke file templat konfigurasi tumpukan atau jalur absolut di sistem file Anda.

ResourceService

Setiap sumber daya milik layanan tertentu yang selaras dengan Databricks REST API. Ini adalah layanan yang didukung oleh Stack CLI.

Layanan Deskripsi
ruang kerja Buku catatan atau direktori ruang kerja.
pekerjaan Pekerjaan Azure Databricks.
dbfs file atau direktori DBFS.

Skema status tumpukan

StackStatus

File status tumpukan dibuat setelah tumpukan disebarkan menggunakan CLI. Bidang tingkat atas adalah:

Nama Bidang Jenis Deskripsi
nama STRING nama tumpukan. Bidang ini adalah bidang yang sama seperti di StackConfig.
cli_version STRING Versi CLI Databricks digunakan untuk menyebarkan tumpukan.
sumber daya yang diterapkan Daftar ResourceStatus Status setiap sumber daya yang disebarkan. Untuk setiap sumber daya yang ditentukan dalam StackConfig, ResourceStatus yang sesuai dibuat di sini.

ResourceStatus

Nama Bidang Jenis Deskripsi
id STRING ID yang unik untuk setiap tumpukan sumber daya.
layanan ResourceService Layanan REST API tempat sumber daya beroperasi. Salah satu dari jobs,
workspace, atau dbfs.
databricks_id DatabricksId ID fisik dari sumber daya yang telah disebarkan. Skema aktual tergantung pada jenis (layanan) sumber daya.

DatabricksId

Objek JSON yang bidangnya bergantung pada layanan.

Layanan Bidang di JSON Jenis Deskripsi
ruang kerja jalan STRING Jalur absolut buku catatan atau direktori di ruang kerja Azure Databricks. Penamaan konsisten dengan Workspace API.
pekerjaan ID_pekerjaan STRING ID pekerjaan seperti yang ditunjukkan di ruang kerja Azure Databricks. Ini dapat digunakan untuk memperbarui pekerjaan yang sudah diterapkan.
dbfs jalan STRING Jalur absolut buku catatan atau direktori di ruang kerja Azure Databricks. Penamaan konsisten dengan API DBFS.