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.json
verir.
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_path
path
) 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 ResourceConfig
birinin 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 ,workspace veya 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 ,workspace veya 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.