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.json
verir.
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.jar
yığı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_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.
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 ResourceConfig
birinin 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 ,workspace veya 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 DIRECTORY olabilirNOTEBOOK . |
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 ,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.