Bagikan melalui


Stack CLI (warisan)

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 ke atas tidak mendukung tumpukan CLI. Databricks merekomendasikan agar Anda menggunakan penyedia Databricks Terraform sebagai gantinya.

Catatan

Tumpukan 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 buku catatan dan file DBFS secara lokal dan membuat templat JSON konfigurasi tumpukan yang menentukan pemetaan dari file lokal Anda ke jalur di ruang kerja Azure Databricks Anda, bersama dengan konfigurasi pekerjaan yang menjalankan buku catatan.

Gunakan tumpukan CLI dengan templat JSON konfigurasi tumpukan untuk menyebarkan dan mengelola tumpukan 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 tumpukan untuk mempelajari cara menyiapkan tumpukan.

databricks stack deploy ./config.json

Templat JSON konfigurasi tumpukan memberikan contoh config.json.

Unduh perubahan buku catatan tumpukan

Subperintah ini mengunduh buku catatan tumpukan.

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 tumpukan dari tumpukan. Inilah yang diteruskan ke tumpukan CLI untuk penyebaran tumpukan.

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 databricks stack deploy <configuration-file> perintah.

databricks stack deploy ./config.json

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

Pada waktu penyebaran tumpukan, file StackStatus JSON untuk penyebaran disimpan di direktori yang sama dengan templat konfigurasi tumpukan dengan nama, menambahkan deployed segera sebelum .json ekstensi: (misalnya, ./config.deployed.json). File ini digunakan oleh tumpukan CLI untuk melacak sumber daya yang 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 terkait file status tumpukan, hapus file dan coba 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 tumpukan

StackConfig

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

Nama Bidang Jenis Deskripsi
nama STRING nama tumpukan.
sumber daya Daftar ResourceConfig Aset di Azure Databricks. Sumber daya terkait dengan tiga layanan (namespaces layanan REST API): ruang kerja, pekerjaan, 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 diberlakukan.
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 oleh 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 tumpukan CLI Bidang yang hanya digunakan di Stack CLI
ruang kerja jalur: STRING- Jalur ruang kerja jarak jauh dari 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 buku catatan atau direktori ruang kerja. Jalur relatif ke file templat konfigurasi tumpukan atau jalur absolut di sistem file Anda.
jobs Bidang apa pun dalam pengaturan atau struktur new_settings. Satu-satunya bidang yang tidak diperlukan dalam pengaturan atau struktur new_settings tetapi diperlukan untuk tumpukan CLI adalah:

nama: STRING- Nama pekerjaan yang akan digunakan. Untuk tujuan tidak menciptakan terlalu banyak pekerjaan duplikat, tumpukan CLI memberlakukan nama unik dalam pekerjaan yang disebarkan.
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 tumpukan CLI.

Layanan Deskripsi
ruang kerja Buku catatan atau direktori ruang kerja.
jobs 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.
deployed_resources 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 unik tumpukan untuk 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 disebarkan. Skema aktual tergantung pada jenis (layanan) sumber daya.

DatabricksId

Objek JSON yang bidangnya bergantung pada layanan.

Layanan Bidang di JSON Tipe Deskripsi
ruang kerja jalan STRING Jalur absolut buku catatan atau direktori di ruang kerja Azure Databricks. Penamaan konsisten dengan API Ruang Kerja.
jobs job_id STRING ID pekerjaan seperti yang ditunjukkan di ruang kerja Azure Databricks. Ini dapat digunakan untuk memperbarui pekerjaan yang sudah disebarkan.
dbfs jalan STRING Jalur absolut buku catatan atau direktori di ruang kerja Azure Databricks. Penamaan konsisten dengan API DBFS.