Aracılığıyla paylaş


Stack CLI (eski)

Önemli

Bu belge kullanımdan kaldırılmıştır ve güncelleştirilmeyebilir.

Bu bilgiler eski Databricks CLI 0.18 ve altındaki sürümler için geçerlidir. Databricks, bunun yerine daha yeni Databricks CLI sürüm 0.205 veya üzerini kullanmanızı önerir. Bkz . Databricks CLI nedir?. Databricks CLI sürümünüzü bulmak için komutunu çalıştırın databricks -v.

Databricks CLI sürüm 0.18 veya altından Databricks CLI sürüm 0.205 veya üzeri sürüme geçiş yapmak için bkz . Databricks CLI geçişi.

Databricks CLI 0.205 ve üzeri sürümleri yığın CLI'sını desteklemez. Databricks bunun yerine Databricks Terraform sağlayıcısını kullanmanızı önerir.

Not Alın

Stack CLI, Databricks CLI 0.8.3 veya üzerini gerektirir.

Stack CLI, işler, not defterleri ve DBFS dosyaları gibi Azure Databricks kaynaklarının bir yığınını yönetmek için bir yol sağlar. Not defterlerini ve DBFS dosyalarını yerel olarak depolayabilir ve yerel dosyalarınızdan Azure Databricks çalışma alanınızdaki yollara eşlemeleri tanımlayan bir yığın yapılandırması JSON şablonu ve not defterlerini çalıştıran iş yapılandırmaları oluşturabilirsiniz.

Yığınınızı dağıtmak ve yönetmek için yığın yapılandırması JSON şablonuyla stack CLI'yi kullanın.

Databricks stack CLI alt komutlarını databricks stack ekleyerek çalıştırırsınız.

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]

Çalışma alanına yığın kurma

Bu alt komut, bir yığını dağıtır. Yığın kurulumunu nasıl yapacağınızı öğrenmek için Yığın ayarları kısmına bakın.

databricks stack deploy ./config.json

Yığın yapılandırması JSON şablonu örneği config.jsonverir.

Yığın not defteri değişikliklerini indir

Bu alt komut bir yığının not defterlerini indirir.

databricks stack download ./config.json

Örnekler

Yığın kurulumu

Örnek yığının dosya yapısı

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

Bu örnek yığın, notebooks/common/notebook.scala içindeki ana not defterinin yanı sıra notebooks/config klasöründe yer alan yapılandırma not defterlerini içerir. lib/library.jar içinde yığının bir JAR kitaplığı bağımlılığı vardır. config.json , yığının yığın yapılandırması JSON şablonudur. Yığının dağıtımı için yığın CLI'sine bu aktarılır.

Yığın yapılandırması JSON şablonu

Yığın yapılandırma şablonu, yığın yapılandırmasını açıklar.

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

Her iş, çalışma alanı not defteri, çalışma alanı dizini, DBFS dosyası veya DBFS dizini bir ResourceConfig olarak tanımlanır. Bir çalışma alanını veya DBFS varlığını temsil eden her ResourceConfig varlık, yerel olarak var olduğu dosya veya dizinden () çalışma alanında veya DBFS'de (source_pathpath) bulunabileceği yere bir eşleme içerir.

Yığın yapılandırma şablonu şeması , yığın yapılandırma şablonunun şemasını özetler.

Bir yığını dağıt

databricks stack deploy <configuration-file> komutunu kullanarak bir yığın dağıtırsınız.

databricks stack deploy ./config.json

Yığın dağıtımı sırasında DBFS ve çalışma alanı varlıkları Azure Databricks çalışma alanınıza yüklenir ve işler oluşturulur.

Yığın dağıtımı sırasında, bir StackStatus JSON dosyası dağıtım için yığın yapılandırma şablonuyla aynı dizine kaydedilir ve uzantıdan hemen önce deployed eklenmiş .json adıyla adlandırılır: (örneğin, ./config.deployed.json). Bu dosya Stack CLI tarafından çalışma alanınızda dağıtılan geçmiş kaynakları izlemek için kullanılır.

Yığın durumu şeması , bir yığın yapılandırmasının şemasını özetler.

Önemli

Yığın durum dosyasını düzenlemeyi veya taşımayı denemeyin. Yığın durumu dosyasıyla ilgili herhangi bir hata alırsanız, dosyayı silin ve dağıtımı yeniden deneyin.

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

Veri yapıları

Bu bölümde:

Yığın yapılandırma şablonu şeması

StackConfig

Bunlar, yığın yapılandırma şablonunun dış alanlarıdır. Tüm alanlar zorunludur.

Alan Adı Type Açıklama
Adı STRING Yığının adı.
kaynaklar ResourceConfig Listesi Azure Databricks'teki bir varlık. Kaynaklar üç hizmetle (REST API ad alanları) ilgilidir: çalışma alanı, işler ve dbfs.

ResourceConfig

Her ResourceConfigbirinin alanları. Tüm alanlar zorunludur.

Alan Adı Type Açıklama
kimlik STRING Kaynak için benzersiz bir kimlik. ResourceConfig'in benzersizliği sağlanır.
hizmet ResourceService Kaynağın üzerinde çalıştığı REST API hizmeti. Bunlardan biri: jobs,
workspaceveya dbfs.
özellikler ResourceProperties Alanlar, ResourceConfig hizmetten hizmete farklılık gösterir.

KaynakÖzellikleri

Bir kaynağın ResourceService özellikleri. Alanlar, Azure Databricks REST API'sinde kullanılan veya kullanılmayan alanlar olarak sınıflandırılır. Listelenen tüm alanlar gereklidir.

hizmet Stack CLI'da kullanılan REST API'den alanlar Yalnızca Stack CLI'da kullanılan alanlar
çalışma alanı path: STRING- Not defterlerinin veya dizinlerin uzak çalışma alanı yolları. (Örn. /Users/example@example.com/notebook)
object_type: Çalışma Alanı API'si- Not defteri nesne türü. Yalnızca NOTEBOOK veya DIRECTORY olabilir.
source_path: STRING- Çalışma alanı not defterlerinin veya dizinlerinin yerel kaynak yolu. Yığın yapılandırma şablon dosyasına ait bir bağıl yol veya dosya sisteminizdeki mutlak yol.
Işleri Ayarlardaki veya new_settings yapısındaki herhangi bir alan. Ayarlarda veya new_settings yapısında gerekli olmayan ancak yığın CLI'sı için gereken tek alan:
name: STRING- Dağıtılacak işin adı. Çok fazla yinelenen iş oluşturmama amacıyla Stack CLI, yığınla dağıtılan işlerde benzersiz adlar uygular.
Yok.
dbfs path: STRING- Uzaktaki eşleşen DBFS yolu. ile dbfs:/başlamalıdır. (örn. dbfs:/this/is/a/sample/path)
is_dir: BOOL- DBFS yolunun bir dizin mi yoksa bir dosya mı olduğu.
source_path: STRING- DBFS dosyalarının veya dizinlerinin yerel kaynak yolu. Yığın yapılandırma şablonu dosyası için dosya sisteminizdeki göreli bir yol veya mutlak bir yol.

ResourceService

Her kaynak Databricks REST API'siyle uyumlu olan belirli bir hizmete aittir. Bunlar Stack CLI tarafından desteklenen hizmetlerdir.

Hizmet Açıklama
çalışma alanı Çalışma alanı not defteri veya dizini.
Işleri Azure Databricks işi.
dbfs DBFS dosyası veya dizini.

Yığın durumu şeması

StackStatus

CLI kullanılarak yığın dağıtıldıktan sonra bir yığın durum dosyası oluşturulur. En üst düzey alanlar şunlardır:

Alan Adı Type Açıklama
Adı STRING Yığının adı. Bu alan StackConfig'deki alanla aynıdır.
cli_version STRING Databricks CLI'nin, yığını dağıtmak için kullanılan sürümü.
dağıtılan kaynaklar ResourceStatus Listesi Dağıtılan her kaynağın durumu. StackConfig'de tanımlanan her kaynak için burada karşılık gelen bir ResourceStatus oluşturulur.

ResourceStatus

Alan Adı Type Açıklama
id STRING Kaynak için yığın benzersiz kimliği.
hizmet ResourceService Kaynağın üzerinde çalıştığı REST API hizmeti. Bunlardan biri: jobs,
workspaceveya dbfs.
databricks_id DatabricksId Dağıtılan kaynağın fiziksel kimliği. Gerçek şema, kaynağın türüne (hizmet) bağlıdır.

DatabricksId

Alanı hizmete bağlı olan bir JSON nesnesi.

Hizmet JSON'da alan Tip Açıklama
çalışma alanı yol DİZGİ Azure Databricks çalışma alanında not defterinin veya dizinin mutlak yolu. Adlandırma, Çalışma Alanı API'siyle tutarlıdır.
Işleri job_id DİZGİ Azure Databricks çalışma alanında gösterildiği gibi iş ID'si. Bu, zaten dağıtılmış işleri güncelleştirmek için kullanılabilir.
dbfs yol DİZGİ Azure Databricks çalışma alanındaki not defterinin veya dizinin mutlak yolu. Adlandırma, DBFS API'siyle tutarlıdır.