スタック CLI (レガシー)
このドキュメントは廃止されており、更新されない可能性があります。
この情報は、従来の Databricks CLI バージョン 0.18 以下に適用されます。 Databricks では、代わりに新しい Databricks CLI バージョン 0.205 以降を使用することをお勧めします。 「Databricks CLI とは」を参照してください。Databricks CLI のバージョンを確認するには、 databricks -v
を実行します。
Databricks CLI バージョン 0.18 以前から Databricks CLI バージョン 0.205 以降に移行するには、「 Databricks CLI の移行」を参照してください。
Databricks CLI バージョン 0.205 以降では、スタック CLI はサポートされていません。 Databricks では、代わりに Databricks Terraform プロバイダー を使用することをお勧めします。
スタック CLI には、Databricks CLI 0.8.3 以降が必要です。
スタック CLI は、ジョブなどの Databricks リソースのスタックを管理する方法を提供します。 ノートブック、および DBFS ファイル。 ノートブックと DBFS ファイルをローカルに保存し、スタック設定 JSON テンプレートを作成できます。 は、ローカル ファイルから Databricks ワークスペース内のパスへのマッピングを定義します。 ノートブックを実行するジョブの構成。
スタック CLI とスタック設定 JSON テンプレートを使用して、スタックをデプロイおよび管理します。
Databricks スタック CLI サブコマンドを実行するには、それらを 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]
スタックをワークスペースにデプロイする
このサブコマンドは、スタックをデプロイします。 スタックの設定方法については、「 スタックのセットアップ 」を参照してください。
databricks stack deploy ./config.json
スタック設定 JSON テンプレート は、 config.json
の例を示しています。
スタックノートブックの変更のダウンロード
このサブコマンドは、スタックのノートブックをダウンロードします。
databricks stack download ./config.json
例
スタックのセットアップ
サンプルスタックのファイル構造
tree
.
├── notebooks
| ├── common
| | └── notebook.scala
| └── config
| ├── environment.scala
| └── setup.sql
├── lib
| └── library.jar
└── config.json
このサンプルスタックには、 notebooks/common/notebook.scala
のメインノートブックと設定が含まれています
notebooks/config
フォルダ内のノートブック。 スタックの JAR ライブラリ依存関係があります
lib/library.jar
年に。 config.json
スタックのスタック設定 JSON テンプレートです。 これは
スタックのデプロイのためにスタック CLI に渡される内容。
スタック設定 JSON テンプレート
スタック設定テンプレートは、スタック設定を記述します。
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": "i3.xlarge",
"aws_attributes": {
"availability": "SPOT"
},
"num_workers": 3
},
"timeout_seconds": 7200,
"max_retries": 1,
"notebook_task": {
"notebook_path": "/Users/example@example.com/dev/notebook"
}
}
}
]
}
各ジョブ、ワークスペース ノートブック、ワークスペース ディレクトリ、DBFS ファイル、または DBFS ディレクトリ
は ResourceConfig として定義されます。 ワークスペースまたは DBFS 資産を表す各 ResourceConfig
には、次のものが含まれます
ローカルに存在するファイルまたはディレクトリ (source_path
) からワークスペースまたは DBFS (path
) に存在する場所へのマッピング。
スタック設定テンプレートスキーマ スタック設定テンプレートのスキーマの概要を示します。
スタックのデプロイ
スタックをデプロイするには、 databricks stack deploy <configuration-file>
コマンドを使用します。
databricks stack deploy ./config.json
スタックのデプロイ中に、DBFS とワークスペースのアセットが Databricks ワークスペースとジョブが作成されます。
スタックのデプロイ時に、デプロイの StackStatus JSON ファイルが保存されます
スタック設定テンプレートと同じディレクトリに、名前が付けられ、
deployed
.json
拡張子の直前: (例: ./config.deployed.json
)。 これ
ファイルは、ワークスペースに過去にデプロイされたリソースを追跡するために Stack CLI によって使用されます。
スタックステータススキーマ は、スタック設定のスキーマの概要を示します。
スタック状況ファイルを編集または移動しようとしないでください。 に関するエラーが発生した場合 スタックステータスファイルの場合は、ファイルを削除してから、デプロイを再試行してください。
cat ./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"
}
データ構造
このセクションの内容:
スタック構成テンプレートのスキーマ
スタックコンフィグ
これらは、スタック設定テンプレートの外側のフィールドです。 すべてのフィールドが必須です。
フィールド名 | タイプ | 説明 |
---|---|---|
name |
| スタックの名前。 |
リソース | ResourceConfigのリスト | Databricks の資産。 リソースは、ワークスペース、ジョブ、dbfs の 3 つのサービス (REST API 名前空間) に関連しています。 |
リソースコンフィグ
各 ResourceConfig
のフィールド。 すべてのフィールドが必須です。
フィールド名 | タイプ | 説明 |
---|---|---|
ID、 |
| リソースの一意の ID。 ResourceConfig の一意性は強制されます。 |
サービス | リソースが動作する REST API サービス。 次のいずれか: | |
properties | この項目は、 |
リソースプロパティ
ResourceService によるリソースのプロパティ。フィールド は、Databricks REST API で使用されるものと使用されないものに分類されます。 リストされているすべてのフィールドが必須です。
サービス | スタック CLI で使用される REST API のフィールド | スタック CLI でのみ使用されるフィールド |
---|---|---|
workspace | path: | ソース: |
jobs | 設定またはnew_settings構造体の任意のフィールド。設定またはnew_settings構造では必須ではないが、スタック CLI には必要なフィールドのみです。 name: | 何一つ。 |
dbfs | path: | ソース: |
リソースサービス
各リソースは、Databricks REST API と一致する特定のサービスに属します。これらは、スタック CLI でサポートされているサービスです。
サービス | 説明 |
---|---|
workspace | ワークスペース ノートブックまたはディレクトリ。 |
jobs | Databricks ジョブ。 |
dbfs | DBFS ファイルまたはディレクトリ。 |
スタックステータススキーマ
スタックステータス
スタックステータスファイルは、CLI を使用してスタックがデプロイされた後に作成されます。 最上位のフィールドは次のとおりです。
フィールド名 | タイプ | 説明 |
---|---|---|
name |
| スタックの名前。 このフィールドは 、StackConfig と同じフィールドです。 |
CLI |
| スタックのデプロイに使用される Databricks CLI のバージョン。 |
deployed_resources | ResourceStatusのリスト | デプロイされた各リソースのステータス。 StackConfig で定義されたリソースごとに、対応する ResourceStatus がここで生成されます。 |
リソースステータス
フィールド名 | タイプ | 説明 |
---|---|---|
ID、 |
| リソースのスタック固有 ID。 |
サービス | リソースが動作する REST API サービス。 次のいずれか: | |
databricks_id | デプロイされたリソースの物理 ID。 実際のスキーマは、リソースの種類 (サービス) によって異なります。 |
データブリックスID
フィールドがサービスに依存する JSON オブジェクト。
サービス | JSONのフィールド | タイプ | 説明 |
---|---|---|---|
workspace | パス | 文字列 | Databricks ワークスペース内のノートブックまたはディレクトリの絶対パス。 名前付けは、ワークスペース APIと一致しています。 |
jobs | ジョブ | 文字列 | Databricks ワークスペースに表示されるジョブ ID。 これは、既にデプロイされているジョブを更新するために使用できます。 |
dbfs | パス | 文字列 | Databricks ワークスペース内のノートブックまたはディレクトリの絶対パス。 名前付けは DBFS API と一貫しています。 |