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.

Dekont

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ı sonuna ekleyerek databricks stackç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 dağıtma

Bu alt komut bir yığın dağıtır. Yığın ayarlamayı öğrenmek için bkz . Yığın kurulumu .

databricks stack deploy ./config.json

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

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

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, klasöründeki notebooks/common/notebook.scala yapılandırma not defterleriyle notebooks/config birlikte bir ana not defteri içerir. içindeki lib/library.jaryığının 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 geçirilen budur.

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.

Yığın dağıtma

komutunu kullanarak databricks stack deploy <configuration-file> 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 zamanında, dağıtım için bir StackStatus JSON dosyası, uzantıdan hemen önce .json eklenerek deployed adıyla yığın yapılandırma şablonuyla aynı dizine kaydedilir: (ö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ı Türü Tanım
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ı Türü Açıklama
kimlik STRING Kaynak için benzersiz bir kimlik. ResourceConfig'in benzersizliği zorlanır.
hizmet ResourceService Kaynağın üzerinde çalıştığı REST API hizmeti. Bunlardan biri: jobs,
workspaceveya dbfs.
özellikler ResourceProperties Bu alandaki alanlar hizmete bağlı olarak ResourceConfig farklıdır.

ResourceProperties

ResourceService tarafından bir kaynağın ö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 veya DIRECTORYolabilirNOTEBOOK.
source_path: STRING- Çalışma alanı not defterlerinin veya dizinlerinin yerel kaynak yolu. Yığın yapılandırma şablonu dosyasının göreli yolu 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- Eşleşen uzak 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ının göreli yolu veya dosya sisteminizdeki mutlak yol.

ResourceService

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

Hizmet Tanım
ç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 bir yığın dağıtıldıktan sonra bir yığın durum dosyası oluşturulur. En üst düzey alanlar şunlardır:

Alan Adı Türü Tanım
ad STRING Yığının adı. Bu alan StackConfig'deki alanla aynıdır.
cli_version STRING Yığını dağıtmak için kullanılan Databricks CLI sürümü.
deployed_resources 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ı Türü Açıklama
kimlik 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.

Service JSON'da alan Türü Tanım
çalışma alanı yol DİZE 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İZE Azure Databricks çalışma alanında gösterildiği gibi iş kimliği. Bu, zaten dağıtılmış işleri güncelleştirmek için kullanılabilir.
dbfs yol DİZE Azure Databricks çalışma alanında not defterinin veya dizinin mutlak yolu. Adlandırma, DBFS API'siyle tutarlıdır.