bundle コマンド グループ

注

Databricks CLI の使用には、使用状況データのプロビジョニングを含め、 Databricks ライセンス と Databricks のプライバシーに関する通知が適用されます。

bundle 内の コマンド グループには、宣言型オートメーション バンドルを管理するためのコマンドが含まれています。 宣言型オートメーション バンドルを使用すると、プロジェクトをコードとして表現し、Azure Databricks ジョブ、Lakeflow パイプライン、MLOps スタックなどのAzure Databricksワークフローをプログラムで検証、デプロイ、実行できます。 「宣言型オートメーション バンドルとは」を参照してください。

注

バンドル コマンドは、バンドル フォルダー内から実行するときに認証に databricks.yml の設定を使用します。 バンドル フォルダー内とは異なる認証を使用してバンドル コマンドを実行する場合は、 (または--profile) フラグを使用して-pを指定し、--targetを指定しないでください。

または、バンドル フォルダーの外部からバンドルと同じ認証を必要としないコマンドを実行します。

databricks バンドルのデプロイ

バンドルをリモート ワークスペースにデプロイします。

databricks bundle deploy [flags]

バンドル ターゲットと ID

バンドルを特定のターゲットにデプロイするには、バンドル構成ファイル内で宣言されているターゲットの名前と共に -t (または --target) オプションを設定します。 コマンド オプションが指定されていない場合は、バンドル構成ファイル内で宣言されている既定のターゲットが使用されます。 たとえば、dev という名前で宣言されたターゲットの場合は、次のように指定します。

databricks bundle deploy -t dev

バンドルは、開発、ステージング、運用ワークスペースなど、複数のワークスペースにデプロイできます。 基本的に、 root_path プロパティはバンドルの一意の ID を決定するプロパティであり、既定では ~/.bundle/${bundle.name}/${bundle.target}。 そのため、既定では、バンドルの ID は、展開者の ID、バンドルの名前、およびバンドルのターゲット名で構成されます。 これらが異なるバンドル間で同一である場合、これらのバンドルのデプロイは相互に干渉します。

さらに、バンドルのデプロイでは、ターゲット ワークスペースに作成されたリソースが、ID ごとにワークスペース ファイル システムに保存されている状態として追跡されます。 リソース名は、バンドルのデプロイとリソース インスタンスの間の関連付けに使用されないため、次のようになります。

  • バンドル構成のリソースがターゲット ワークスペースに存在しない場合は、自動的に作成されます。
  • バンドル構成のリソースがターゲット ワークスペースに存在する場合は、ワークスペース内で更新されます。
  • リソースがバンドル構成から削除された場合、以前にデプロイされていた場合は、ターゲット ワークスペースからも削除されます。
  • リソースとバンドルの関連付けは、バンドル名、バンドル ターゲット、またはワークスペースを変更した場合にのみ忘れ去ることができます。 bundle validate を実行すると、これらの値を含む概要を出力できます。

オプション

--auto-approve

    デプロイに必要な対話型承認をスキップします。

-c, --cluster-id string

    特定のクラスター ID を使用して、デプロイ内のクラスターをオーバーライドします。

--fail-on-active-runs

    デプロイに実行中のジョブまたはパイプラインがある場合は失敗します。

--force

    デプロイメントをブロックする検証を上書きしてください。 --force Gitブランチの検証を上書きするため、現在のGitブランチがターゲットの git.branch と一致していなくてもデプロイが進みます。 ダッシュボードの場合、 --force 前回のデプロイメント後にワークスペースで修正されたダッシュボードも上書きします。 --forceがなければ、リモートの変更が失われないようにデプロイが失敗します。

--force-lock

    展開ロックの取得を強制します。 このオプションを選択すると、同時デプロイが相互にやり取りできないようにするメカニズムが無効になります。 以前のデプロイがクラッシュしたか中断され、古いロック ファイルが残された場合にのみ使用してください。

--plan

    計画ではなく適用する JSON プラン ファイルへのパス (直接エンジンのみ)。 プラン ファイルは、 databricks bundle plan -o jsonを使用して作成できます。

--select strings

重要

Databricks では、開発ワークスペースにリソースをデプロイする場合にのみ、このオプションを使用することをお勧めします。 運用環境での使用を目的としたものではありません。 指定されたリソースと必要なアップストリーム依存関係のみがデプロイされます。ダウンストリーム リソースと依存関係は更新されません。 これにより、依存関係エラーや予期しない動作が発生する可能性があります。

    指定したリソース (たとえば、 my_job や jobs.my_job) のみをデプロイします。 繰り返しまたはコンマ区切りで指定できます。

グローバル フラグ

例示

次の例では、特定のクラスター ID を使用してバンドルをデプロイします。

databricks bundle deploy --cluster-id 0123-456789-abcdef

次の例では、指定したリソースのみをデプロイします。 --select フラグをリソース キーと共に使用し、必要に応じてリソースの種類で修飾し、フラグを繰り返すか、コンマ区切りリストを使用して複数のリソースをデプロイします。

databricks bundle deploy --select my_job
databricks bundle deploy --select jobs.my_job --select pipelines.my_pipeline
databricks bundle deploy --select my_job,my_pipeline

databricks バンドルのデプロイ

デプロイ関連のコマンド。

databricks bundle deployment [command]

使用可能なコマンド

  • bind - バンドル定義リソースをリモート ワークスペース内の既存のリソースにバインドします。
  • migrate - 直接デプロイ エンジンを使用するようにバンドルを移行します。
  • unbind - バンドル定義リソースをリモート リソースからバインド解除します。

databricks バンドルのデプロイ バインド

バンドル定義リソースを Azure Databricks ワークスペース内の既存のリソースにリンクして、宣言型オートメーション バンドルによって管理されるようにします。 リソースをバインドすると、ワークスペース内の既存の Azure Databricks リソースは、次の bundle deployの後にバインドされるバンドルで定義されている構成に基づいて更新されます。

databricks bundle deployment bind KEY RESOURCE_ID [flags]

バインドでは、データは再作成されません。 たとえば、カタログ内のデータを含むパイプラインにバインドが適用されている場合は、既存のデータを失うことなく、そのパイプラインにデプロイできます。 さらに、たとえば、具体化されたビューを再計算する必要がないため、パイプラインを再実行する必要はありません。

バインド コマンドは、 --target フラグと共に使用する必要があります。 識別子の形式は、リソースの種類によって異なります。以下 の引数を 参照してください。

ヒント

バインドを実行する前に、ワークスペース内のリソースを確認することをお勧めします。

バインドは、宣言型オートメーション バンドルのすべてのリソースの種類でサポートされています。 一部のリソースは直接エンジンのみを使用して使用できます。 「宣言型オートメーション バンドル」リソースを参照してください。

bundle generate コマンドでサポートされているリソースの場合は、--bind オプションを使用して、生成後にリソースを自動的にバインドします。

論争

KEY

    バインドするリソースのキー

RESOURCE_ID

    バインド先の既存のリソースの識別子。 バインド コマンドは GET REST API エンドポイントを使用してリソースを検出するため、形式はリソースの種類によって異なります。 数値または UUID スタイルの ID (ジョブやパイプラインなど) で識別されるリソースの場合は、その ID を渡します。 完全な名前 (スキーマやボリュームなど) で識別される Unity カタログ リソースの場合は、代わりにフル ネーム パスを渡します。 例えば次が挙げられます。

  • job: 数値 ID (例: 6565621249
  • パイプライン: UUID (例: 7688611149d5709ac9-2900-1229-9996-586a9zez8929
  • schema: full name in catalog.schema form, such such my_catalog.my_schema
  • volume: full name in catalog.schema.volume form, such such my_catalog.my_schema.my_volume
  • registered_model: catalog.schema.model 形式のフル ネーム
  • quality_monitor: catalog.schema.table 形式の完全なテーブル名

オプション

--auto-approve

    メッセージを表示するのではなく、バインドを自動的に承認する

--force-lock

    展開ロックの取得を強制します。 このオプションを選択すると、同時デプロイが相互にやり取りできないようにするメカニズムが無効になります。 以前のデプロイがクラッシュしたか中断され、古いロック ファイルが残された場合にのみ使用してください。

グローバル フラグ

例示

次のコマンドは、ジョブの数値 ID を使用して、バンドル リソース hello_job をワークスペース内の既存のジョブにバインドします。 このコマンドは差分を出力し、ユーザーにリソースのバインドを拒否するオプションを提供しますが、ユーザーが承認した場合は、次回のバンドルのデプロイ時に、対応するリモート ジョブに差分 (バンドル内のジョブ定義に加えられたすべての更新内容) が適用されます。

databricks bundle deployment bind hello_job 6565621249

スキーマやボリュームなどの Unity カタログ リソースの場合は、ID ではなく完全な名前のパスを渡します。 次のコマンドは、バンドル定義スキーマをワークスペース内の既存のスキーマにバインドします。

databricks bundle deployment bind my_bundle_schema_ref my_existing_catalog.my_existing_schema

Databricksバンドルデプロイメントの移行

バンドルを Terraform デプロイ エンジンの使用から直接デプロイ エンジンの使用に移行します。 直接デプロイ エンジンへの移行を参照してください。 移行を完了するには、バンドルをデプロイする必要があります。

移行が成功したことを確認するには、 databricks bundle planを実行します。 databricks バンドルプランを参照してください。

databricks bundle deployment migrate [flags]

論争

None

オプション

--noplancheck

    移行前に走るのは避け bundle plan 。 Databricks CLIバージョン0.280.0から1.4.xのみに適用され、 bundle plan は migrate の一部として実行され、プランがアクションを報告すると移行を停止します。

グローバル フラグ

例示

次の例では、 ダイレクト デプロイ エンジンを使用するように現在のバンドルを移行します。

databricks bundle deployment migrate

databricks バンドルの展開のバインド解除

バンドル内のリソースとそのワークスペース内のリモート 対応するリソースの間のリンクを削除します。

databricks bundle deployment unbind KEY [flags]

論争

KEY

    バインド解除するリソースのキー

オプション

--force-lock

    展開ロックの取得を強制します。 このオプションを選択すると、同時デプロイが相互にやり取りできないようにするメカニズムが無効になります。 以前のデプロイがクラッシュしたか中断され、古いロック ファイルが残された場合にのみ使用してください。

グローバル フラグ

例示

次の例では、 hello_job リソースのバインドを解除します。

databricks bundle deployment unbind hello_job

Databricksバンドル展開

重要

この機能は、プライベート プレビュー段階にあります。 試すには、Azure Databricks の連絡先にお問い合わせください。

宣言的自動化バンドルに記録された展開メタデータを管理し、展開内容、バージョン、各デプロイメントが管理するリソース、それらのリソースで行われる操作などが含まれます。 機能の概要については、 バンドル展開履歴をご覧ください。

databricks bundle-deployments [command]

使用可能なコマンド

  • get-deployment - 単発の展開を取れ。
  • get-operation - 手術を一回だけ取れ。
  • get-resource - 単一の管理リソースを選びましょう。
  • get-version - 単一のデプロイメントバージョンを入手してください。
  • list-deployments - ワークスペースにデプロイメントを一覧表示。
  • list-operations - 展開バージョンで実行された操作を一覧化します。
  • list-resources - デプロイメントで管理されるリソースを一覧化する。
  • list-versions - デプロイメントのバージョンを一覧にする。

これらのコマンドは内部使用専用で、 complete-version、 create-deployment、 create-version、 delete-deployment、 heartbeat、 update-operation。

Databricks バンドル-デプロイメント get-デプロイメント

単一のデプロイメントの概要、最新バージョンやGit情報も含めて取得できます。

databricks bundle-deployments get-deployment NAME [flags]

論争

NAME

    デプロイメントのリソース名は、 deployments/<id>の形で示します。

オプション

グローバル フラグ

例示

以下の例は単一の展開で行われます:

databricks bundle-deployments get-deployment deployments/abc

Databricks Bundle-deployments get-operation

デプロイメントバージョンのリソースに対する単一の操作の詳細を入手できます。

databricks bundle-deployments get-operation NAME [flags]

論争

NAME

    操作のリソース名は deployments/<id>/versions/<version>/operations/<resource-key>の形で表されます。

オプション

グローバル フラグ

例示

以下の例は単一の演算を受けます:

databricks bundle-deployments get-operation deployments/abc/versions/1/operations/my_job

Databricks Bundle-deployments get-resource

デプロイメントが管理する単一のリソースの詳細を取得しましょう。

databricks bundle-deployments get-resource NAME [flags]

論争

NAME

    管理されたリソース名は deployments/<id>/resources/<resource-key>の形で示されています。

オプション

グローバル フラグ

例示

以下の例は単一の管理リソースを得ます:

databricks bundle-deployments get-resource deployments/abc/resources/my_job

Databricks Bundle-deployments Get-version

単一のバージョンのデプロイメントの詳細を入手しましょう。

databricks bundle-deployments get-version NAME [flags]

論争

NAME

    バージョンのリソース名は deployments/<id>/versions/<version>の形で示されています。

オプション

グローバル フラグ

例示

以下の例は単一のデプロイメントバージョンを持っています:

databricks bundle-deployments get-version deployments/abc/versions/1

Databricks バンドル-デプロイメント リスト-デプロイメント

ワークスペースにデプロイメントをリストアップしてください。

databricks bundle-deployments list-deployments [flags]

オプション

--limit int

    返される結果の最大数。

--page-size int

    ページあたり返すべき最大展開数。

グローバル フラグ

例示

以下の例はワークスペース内のデプロイメントを示しています:

databricks bundle-deployments list-deployments

Databricks バンドル-デプロイメントリスト-オペレーション

デプロイメントバージョンでリソースに対して実行された操作(作成、更新、削除など)をリストアップします。

databricks bundle-deployments list-operations PARENT [flags]

論争

PARENT

    バージョンのリソース名は deployments/<id>/versions/<version>の形で示されています。

オプション

--limit int

    返される結果の最大数。

--page-size int

    ページあたり返すべき最大操作数。

グローバル フラグ

例示

以下の例は、デプロイメントバージョンでの操作を示しています:

databricks bundle-deployments list-operations deployments/abc/versions/1

Databricks bundle-deployments list-resources

デプロイメントで管理されるリソースをリストアップしましょう。

databricks bundle-deployments list-resources PARENT [flags]

論争

PARENT

    デプロイメントのリソース名は、 deployments/<id>の形で示します。

オプション

--limit int

    返される結果の最大数。

--page-size int

    1ページあたり返すべき最大リソース数。

グローバル フラグ

例示

以下の例は、デプロイメントによって管理されるリソースを一覧にしています。

databricks bundle-deployments list-resources deployments/abc

Databricks バンドル-デプロイメントリスト-バージョン

デプロイメントのバージョンをリストアップしてください。 各デプロイメントは展開されるたびに新しいバージョンを記録しているので、これがデプロイの履歴です。

databricks bundle-deployments list-versions PARENT [flags]

論争

PARENT

    デプロイメントのリソース名は、 deployments/<id>の形で示します。

オプション

--limit int

    返される結果の最大数。

--page-size int

    ページあたりの最大バージョン数。

グローバル フラグ

例示

以下の例は、デプロイメントのバージョンを示しています:

databricks bundle-deployments list-versions deployments/abc

databricks バンドルの破棄

警告

バンドルを破棄すると、バンドルの以前にデプロイされたジョブ、パイプライン、成果物が完全に削除されます。 この削除操作は元に戻すことができません。

以前にデプロイされたジョブ、パイプライン、その他のリソース、成果物を削除します。

databricks bundle destroy [flags]

注

バンドルの ID は、バンドル名、バンドル ターゲット、ワークスペースで構成されます。 これらのいずれかを変更した後、デプロイする前にバンドルを破棄しようとすると、エラーが発生します。

既定では、以前にデプロイされたジョブ、パイプライン、成果物の完全な削除を確認するメッセージが表示されます。 これらのプロンプトをスキップし、自動的に完全削除を実行するには、--auto-approve オプションを bundle destroy コマンドに追加します。

lifecycle設定を使用して、特定のリソースが破棄されないようにすることができます。 ライフサイクルを参照してください。

オプション

--auto-approve

    リソースとファイルを削除するための対話型承認をスキップする

--force-lock

    展開ロックの取得を強制します。 このオプションを選択すると、同時デプロイが相互にやり取りできないようにするメカニズムが無効になります。 以前のデプロイがクラッシュしたか中断され、古いロック ファイルが残された場合にのみ使用してください。

グローバル フラグ

例示

次のコマンドは、バンドル構成ファイルで定義されている、以前にデプロイされたすべてのリソースと成果物を削除します。

databricks bundle destroy

databricks バンドルの生成

Databricks ワークスペースに既に存在するリソースのバンドル構成を生成します。 サポートされているリソースは、 アプリ、 ダッシュボード、 ジョブ、 パイプラインです。

既定では、このコマンドは、バンドル プロジェクトの*.yml フォルダー内のリソースのresources ファイルを生成し、構成で参照されているノートブックなどのファイルもダウンロードします。

重要

bundle generate コマンドは、リソース構成を自動生成するための補助機能として提供されています。 ただし、バンドルにリソース構成が含まれており、それをデプロイする場合、Azure Databricks は既存のリソースを更新するのではなく、新しいリソースを作成します。 代わりに既存のリソースを更新するには、--bindで bundle generate フラグを使用するか、デプロイする前にbundle deployment bindを実行する必要があります。 databricks バンドルのデプロイ バインドを参照してください。

databricks bundle generate [command]

使用可能なコマンド

  • app - Databricks アプリのバンドル構成を生成します。
  • dashboard - ダッシュボードの構成を生成します。
  • genie-space - Genie エージェントの構成を生成します。
  • job - ジョブのバンドル構成を生成します。
  • pipeline - パイプラインのバンドル構成を生成します。

オプション

--key string

    生成された構成に使用するリソース キー

グローバル フラグ

databricks バンドルでアプリを生成する

ワークスペース内の既存の Databricks アプリのバンドル構成を生成します。

databricks bundle generate app [flags]

オプション

--bind

    生成されたリソースをワークスペース内の既存のリソースと自動的にバインドします。

-d, --config-dir string

    出力バンドル構成が格納されるディレクトリ パス (既定の "resources")

--existing-app-name string

    構成を生成するアプリ名

-f, --force

    出力ディレクトリ内の既存のファイルを強制的に上書きする

-s, --source-dir string

    アプリ ファイルが格納されるディレクトリ パス (既定の "src/app")

グローバル フラグ

例示

次の例では、 my-appという名前の既存のアプリの構成を生成します。 アプリ名は、ワークスペース UI の [Compute>Apps ] タブから取得できます。

databricks bundle generate app --existing-app-name my-app

次のコマンドは、hello_world.app.yml バンドル プロジェクト フォルダーに新しいresources ファイルを生成し、アプリのコマンド構成ファイル app.yamlやメイン app.pyなどのアプリのコード ファイルをダウンロードします。 既定では、コード ファイルはバンドルの src フォルダーにコピーされます。

databricks bundle generate app --existing-app-name "hello_world"
# This is the contents of the resulting /resources/hello-world.app.yml file.
resources:
  apps:
    hello_world:
      name: hello-world
      description: A basic starter application.
      source_code_path: ../src/app

databricks バンドル生成ダッシュボード

ワークスペース内の既存のダッシュボードの構成を生成します。

databricks bundle generate dashboard [flags]

ヒント

ダッシュボードをデプロイした後に.lvdash.json ファイルを更新するには、--resourceを実行するときに、bundle generate dashboard オプションを使用して、既存のダッシュボード リソース用のファイルを生成します。 ダッシュボードの更新プログラムを継続的にポーリングして取得するには、--force オプションと --watch オプションを使用します。

オプション

--bind

    生成されたリソースをワークスペース内の既存のリソースと自動的にバインドします。

-s, --dashboard-dir string

    ダッシュボード表現を書き込むディレクトリ (既定の "src")

--existing-id string

    構成を生成するダッシュボードの ID

--existing-path string

    構成を生成するダッシュボードのワークスペース パス

-f, --force

    出力ディレクトリ内の既存のファイルを強制的に上書きする

--resource string

    変更を監視するダッシュボードのリソース キー

-d, --resource-dir string

    構成を書き込むディレクトリ (既定の "resources")

--watch

    ダッシュボードの変更を監視し、構成を更新する

グローバル フラグ

例示

次の例では、既存のダッシュボード ID によって構成が生成されます。

databricks bundle generate dashboard --existing-id abc123

ワークスペース パスで既存のダッシュボードの構成を生成することもできます。 ワークスペース UI からダッシュボードのワークスペース パスをコピーします。

たとえば、次のコマンドを実行すると、baby_gender_by_county.dashboard.yml バンドル プロジェクト フォルダー内に、以下の YAML が入った新しいresources ファイルが生成されます。また、baby_gender_by_county.lvdash.json ファイルが src プロジェクト フォルダーにダウンロードされます。

databricks bundle generate dashboard --existing-path "/Workspace/Users/someone@example.com/baby_gender_by_county.lvdash.json"
# This is the contents of the resulting baby_gender_by_county.dashboard.yml file.
resources:
  dashboards:
    baby_gender_by_county:
      display_name: 'Baby gender by county'
      warehouse_id: aae11o8e6fe9zz79
      file_path: ../src/baby_gender_by_county.lvdash.json

databricks バンドルによって genie-space が生成される

ワークスペース内の既存の Genie エージェントの構成を生成します。

このコマンドを実行すると、次の結果が生成されます。

  • 設定と Genie エージェント定義への参照を含む Genie エージェント構成 YAML ファイル
  • シリアル化されたスペース コンテンツを含む Genie エージェント定義 (*.geniespace.json) ファイル
databricks bundle generate genie-space [flags]

ヒント

Genie エージェントを既にデプロイした後で.geniespace.json ファイルを更新するには、--resourceを実行して既存のリソースのファイルを生成するときに、bundle generate genie-space オプションを使用します。 Genie エージェントに対する更新プログラムのポーリングと取得を継続的に行うには、 --force オプションと --watch オプションを使用します。

オプション

--existing-id string

    構成を生成する Genie エージェントの ID

-f, --force

    出力ディレクトリ内の既存のファイルを強制的に上書きする

-s, --genie-space-dir string

    Genie エージェント表現を書き込むディレクトリ (既定の "src")

--resource string

    変更を監視する Genie エージェントのリソース キー

-d, --resource-dir string

    構成を書き込むディレクトリ (既定の "resources")

--watch

    Genie エージェントの変更を監視し、構成を更新する

グローバル フラグ

例示

次の例では、既存の Genie エージェント ID を使用して構成を生成します。

databricks bundle generate genie-space --existing-id abc123

次の例では、Genie エージェントに対する UI の変更とバンドルの同期を維持します。

databricks bundle generate genie-space --resource my_genie_space --watch --force

databricks バンドル生成ジョブ

ジョブのバンドル構成を生成します。

注

現在、このコマンドでは、ノートブック タスクを含むジョブのみがサポートされています。

databricks bundle generate job [flags]

オプション

--bind

    生成されたリソースをワークスペース内の既存のリソースと自動的にバインドします。

-d, --config-dir string

    出力構成が格納されるディレクトリ パス (既定の "resources")

--existing-job-id int

    構成を生成するジョブのジョブ ID

-f, --force

    出力ディレクトリ内の既存のファイルを強制的に上書きする

-s, --source-dir string

    ダウンロードしたファイルが格納されるディレクトリ パス (既定の "src")

グローバル フラグ

例示

次の例では、次の YAML を含む hello_job.yml バンドル プロジェクト フォルダーに新しいresources ファイルを生成し、simple_notebook.pyを src プロジェクト フォルダーにダウンロードします。 また、生成されたリソースをワークスペース内の既存のジョブにバインドします。

databricks bundle generate job --existing-job-id 6565621249 --bind
# This is the contents of the resulting hello_job.yml file.
resources:
  jobs:
    hello_job:
      name: 'Hello Job'
      tasks:
        - task_key: run_notebook
          email_notifications: {}
          notebook_task:
            notebook_path: ../src/simple_notebook.py
            source: WORKSPACE
          run_if: ALL_SUCCESS
      max_concurrent_runs: 1

databricks バンドル生成パイプライン

既存のパイプラインのバンドル構成を生成します。

databricks bundle generate pipeline [flags]

ヒント

既存の Spark 宣言パイプライン (SDP) プロジェクトがある場合は、 databricks pipelines generateを使用して構成を生成できます。 databricks パイプラインの生成を参照してください。

オプション

--bind

    生成されたリソースをワークスペース内の既存のリソースと自動的にバインドします。

-d, --config-dir string

    出力構成が格納されるディレクトリ パス (既定の "resources")

--existing-pipeline-id string

    構成を生成するパイプラインの ID

-f, --force

    出力ディレクトリ内の既存のファイルを強制的に上書きする

-s, --source-dir string

    ダウンロードしたファイルが格納されるディレクトリ パス (既定の "src")

グローバル フラグ

例示

次の例では、既存のパイプラインの構成を生成します。

databricks bundle generate pipeline --existing-pipeline-id abc-123-def

`databricks bundle init` コマンド

バンドル テンプレートを使用して新しいバンドルを初期化します。 テンプレートは、ユーザーに値の入力を求めるために構成できます。 宣言型オートメーション バンドル プロジェクト テンプレートを参照してください。

databricks bundle init [TEMPLATE_PATH] [flags]

論争

TEMPLATE_PATH

    初期化に使用するテンプレート (省略可能)

オプション

--branch string

    テンプレートの初期化に使用する Git ブランチ

--config-file string

    テンプレートの初期化に必要な入力パラメーターのキー値ペアを含む JSON ファイル。

--output-dir string

    初期化されたテンプレートを書き込むディレクトリ。

--tag string

    テンプレートの初期化に使用する Git タグ

--template-dir string

    テンプレートを含む Git リポジトリ内のディレクトリ パス。

グローバル フラグ

例示

次の例では、選択する既定のバンドル テンプレートの一覧が表示されます。

databricks bundle init

次の例では、既定の Python テンプレートを使用してバンドルを初期化します。

databricks bundle init default-python

カスタム バンドル テンプレートを使用してバンドルを作成するには、カスタム テンプレート パスを指定します。

databricks bundle init <project-template-local-path-or-url> \
--project-dir="</local/path/to/project/template/output>"

次の例では、Git リポジトリからバンドルを初期化します。

databricks bundle init https://github.com/my/repository

次の例では、特定のブランチを使用して初期化します。

databricks bundle init --branch main

databricks バンドルを開く

ワークスペース内のバンドル リソースに移動し、開くリソースを指定します。 リソース キーが指定されていない場合、このコマンドは、選択するバンドルのリソースの一覧を出力します。

databricks bundle open [flags]

オプション

--force-pull

    ローカル キャッシュをスキップし、リモート ワークスペースから状態を読み込む

グローバル フラグ

例示

次の例では、ブラウザーを起動し、バンドル用に構成されている Databricks ワークスペース内のバンドルの baby_gender_by_county ダッシュボードに移動します。

databricks bundle open baby_gender_by_county

databricks バンドルプラン

現在のバンドル構成の展開計画を表示します。

このコマンドはバンドルをビルドし、変更を加えずにデプロイされるリソースに対して実行されるアクションを表示します。 これにより、 bundle deployを実行する前に変更をプレビューできます。

databricks bundle plan [flags]

オプション

-c, --cluster-id string

    特定のクラスター ID を使用して、デプロイ内のクラスターをオーバーライドします。

--force

    Git ブランチの検証を強制オーバーライドします。

--select strings

    指定したリソースのみを計画します (たとえば、 my_job や jobs.my_job)。 繰り返しまたはコンマ区切りで指定できます。

グローバル フラグ

例示

次の例では、Python ホイールを構築し、ジョブとパイプラインを定義するバンドルのデプロイ計画を出力します。

databricks bundle plan
Building python_artifact...
create jobs.my_bundle_job
create pipelines.my_bundle_pipeline

databricks バンドルの実行

ジョブ、パイプライン、アプリ、またはスクリプトを実行してください。 リソースを指定していない場合、コマンドプロンプトでバンドル内で定義されたジョブ、パイプライン、アプリ、スクリプトから選択するよう促されます。 あるいは、バンドル設定ファイル内でジョブ、パイプライン、またはアプリキー、または宣言されたスクリプト名を指定することもできます。

databricks bundle run [flags] [KEY]

ジョブ パラメーターを渡す

ジョブ パラメーターを渡すには、--params オプションを使用し、その後にコンマ区切りのキーと値のペアを指定します。キーはパラメーター名です。 たとえば、次のコマンドでは、message という名前のパラメーターをジョブ HelloWorld の hello_job に設定します。

databricks bundle run --params message=HelloWorld hello_job

注

次の例に示すように、ジョブ タスク オプションを使用してジョブ タスクにパラメーターを渡すことができますが、ジョブ パラメーターを渡すには --params オプションを使用することをお勧めします。 ジョブ パラメーターが定義されていないジョブに対してジョブ パラメーターが指定されている場合、またはジョブ パラメーターが定義されているジョブにタスク パラメーターが指定されている場合、エラーが発生します。

キーワードまたは位置引数を指定することもできます。 指定したジョブでジョブ パラメーターが使用されている場合、またはジョブにパラメーターを含むノートブック タスクがある場合、フラグ名はパラメーター名にマップされます。

databricks bundle run hello_job -- --key1 value1 --key2 value2

または、指定されたジョブがジョブ パラメーターを使用せず、ジョブに Python ファイル タスクまたは Python ホイール タスクがある場合は、次のようにします。

databricks bundle run my_job -- value1 value2 value3

パラメーターを含むジョブ定義の例については、「パラメーター を持つジョブ」を参照してください。

特定の業務をこなす

ジョブ全体ではなく、ジョブ内の特定のタスクのみを実行するには、タスク キーのコンマ区切りリストで --only オプションを使用します。 たとえば、次のコマンドはジョブ task_aでtask_bとhello_jobのみを実行します。

databricks bundle run --only task_a,task_b hello_job

タスクの依存関係も実行するには、タスク キーに + 修飾子を追加します。

  • タスク キーの前に + を付けて、アップストリーム タスク (依存するタスク) も実行します。
  • +を使用してタスク キーのサフィックスを付け、ダウンストリーム タスク (それに依存するタスク) も実行します。

たとえば、次のコマンドは、アップストリームタスクとダウンストリームタスクと共に task_b 実行されます。

databricks bundle run --only +task_b+ hello_job

パイプラインを検証する

パイプライン検証の実行を実行する場合は、次の例に示すように、--validate-only オプションを使用します。

databricks bundle run --validate-only my_pipeline

アプリを実行する

Databricksアプリの場合、databricks bundle runは最新のソースコードでアプリを起動または再起動します。 ジョブやパイプラインのように、次に実行されるときに新しいコードを拾うのとは異なり、アプリは再起動されるまで以前にデプロイされたコードを継続的に提供し続けるプロセスです。 コード変更が適用されるように、デプロイ後は必ずアプリを実行してください:

databricks bundle deploy -t prod
databricks bundle run my_app -t prod

アプリのKEYは、展開されたアプリのresources.appsフィールドではなく、バンドル設定のnameのキーです。

注

databricks bundle run アプリ開始の合図が出たらすぐに戻ってきます。 アプリは、依存関係や環境変数が欠落しているなど、起動時に失敗することもあります。 停止したアプリが実行状態に達したかを確認するには、コマンドが戻った後にその状態をポーリングします。 ステップ 5を参照してください。アプリが健全になるまで待ちましょう。

スクリプトの実行

バンドルの構成された認証資格情報を使用して統合テストなどのスクリプトを実行するには、スクリプトをインラインで実行するか、バンドル構成で定義されたスクリプトを実行します。 スクリプトは、バンドルで構成されたのと同じ認証コンテキストを使用して実行されます。

  • スクリプトをインラインで実行するには、--の後に二重ハイフン (bundle run) を追加します。 たとえば、次のコマンドは、現在のユーザーの現在の作業ディレクトリを出力します。

    databricks bundle run -- python3 -c 'import os; print(os.getcwd())'
    
  • または、バンドル構成の scripts マッピング内にスクリプトを定義し、 bundle run を使用してスクリプトを実行します。

    scripts:
      my_script:
        content: python3 -c 'import os; print(os.getcwd())'
    
    databricks bundle run my_script
    

    scripts構成の詳細については、スクリプトを参照してください。

バンドル認証情報は、環境変数を使用して子プロセスに渡されます。 Databricks 統合認証を参照してください。

論争

KEY

    実行するリソースの一意識別子 (省略可能)

オプション

--no-wait

    実行が完了するまで待つ必要はありません。

--restart

    実行が既に実行されている場合は、実行を再起動します。

グローバル フラグ

ジョブ フラグ

次のフラグは、ジョブ レベルのフラグです。 ジョブ パラメーターについては、「 ジョブ パラメーターの構成」を参照してください。

--only strings

    実行するタスク キーのコンマ区切りの一覧。 キーの前に + を付けて、アップストリーム タスクも実行します。 キーに + のサフィックスを付けて、ダウンストリーム タスクも実行します。

--params stringToString

    ジョブ パラメーターのコンマ区切り k=v ペア (既定の [])

ジョブ タスク フラグ

次のフラグは、タスク レベルのパラメーター フラグです。 「タスク パラメーターを構成する」を参照してください。 Databricks では、タスク レベルのパラメーターに対してジョブ レベルのパラメーター (--params) を使用することをお勧めします。

--dbt-commands strings

    DBT タスクを使用してジョブに対して実行するコマンドの一覧。

--jar-params strings

    Spark JAR タスクを含むジョブのパラメーターの一覧。

--notebook-params stringToString

    ノートブック タスクを使用するジョブのキーから値へのマップ。 (既定の [])

--pipeline-params stringToString

    パイプライン タスクを含むジョブのキーから値へのマップ。 (既定の [])

--python-named-params stringToString

    Python ホイール タスクを使用したジョブのキーから値へのマップ。 (既定の [])

--python-params strings

    Python タスクを使用するジョブのパラメーターの一覧。

--spark-submit-params strings

    Spark 送信タスクを含むジョブのパラメーターの一覧。

--sql-params stringToString

    SQL タスクを使用するジョブのキーから値へのマップ。 (既定の [])

パイプライン フラグ

次のフラグはパイプライン フラグです。

--full-refresh strings

    リセットおよび再計算するテーブルの一覧。

--full-refresh-all

    グラフの完全なリセットと再計算を実行します。

--refresh strings

    更新するテーブルの一覧。

--refresh-all

    グラフの完全な更新を実行します。

--validate-only

    更新を実行してグラフの正確性を検証します。

例示

次の例では、既定のターゲットでジョブ hello_job を実行します。

databricks bundle run hello_job

次の例では、hello_jobという名前で宣言されたターゲットのコンテキスト内でジョブ devを実行します。

databricks bundle run -t dev hello_job

次の例では、既存のジョブの実行を取り消して再起動します。

databricks bundle run --restart hello_job

次の例では、完全更新でパイプラインを実行します。

databricks bundle run my_pipeline --full-refresh-all

以下の例は、my_appターゲットでアプリprodを開始または再起動します。

databricks bundle run my_app -t prod

次の例では、バンドル コンテキストでコマンドを実行します。

databricks bundle run -- echo "hello, world"

databricks バンドル スキーマ

バンドル構成の JSON スキーマを表示します。

databricks bundle schema [flags]

オプション

グローバル フラグ

例示

次の例では、バンドル構成の JSON スキーマを出力します。

databricks bundle schema

バンドル構成スキーマを JSON ファイルとして出力するには、 bundle schema コマンドを実行し、出力を JSON ファイルにリダイレクトします。 たとえば、現在のディレクトリ内に bundle_config_schema.json という名前のファイルを生成できます。

databricks bundle schema > bundle_config_schema.json

databricks バンドルの概要

Databricks ワークスペース内のリソースに簡単に移動できるように、リソースのディープ リンクなど、バンドルの ID とリソースの概要を出力します。

databricks bundle summary [flags]

ヒント

bundle openを使用して、Databricks ワークスペース内のリソースに移動することもできます。 databricks バンドルを開くを参照してください。

オプション

--force-pull

    ローカル キャッシュをスキップし、リモート ワークスペースから状態を読み込む

グローバル フラグ

例示

次の例では、バンドルのデプロイされたリソースの概要を出力します。

databricks bundle summary

次の出力は、ジョブとパイプラインを定義する my_pipeline_bundle という名前のバンドルの概要です。

Name: my_pipeline_bundle
Target: dev
Workspace:
  Host: https://myworkspace.cloud.databricks.com
  User: someone@example.com
  Path: /Users/someone@example.com/.bundle/my_pipeline/dev
Resources:
  Jobs:
    my_project_job:
      Name: [dev someone] my_project_job
      URL:  https://myworkspace.cloud.databricks.com/jobs/206000809187888?o=6051000018419999
  Pipelines:
    my_project_pipeline:
      Name: [dev someone] my_project_pipeline
      URL:  https://myworkspace.cloud.databricks.com/pipelines/7f559fd5-zztz-47fa-aa5c-c6bf034b4f58?o=6051000018419999

databricks バンドル同期

ローカル ファイルシステム ディレクトリ内のバンドルのファイル変更を、リモートの Azure Databricks ワークスペース内のディレクトリに対して一方向同期を実行します。

注

bundle sync コマンドは、リモート Azure Databricks ワークスペース内のディレクトリからローカル ファイル システム内のディレクトリにファイルの変更を同期することはできません。

databricks bundle sync [flags]

databricks bundle sync コマンドは、databricks sync コマンドと同様に動作し、生産性向上のための補助機能を提供します。 コマンドの使用方法については、 sync コマンドを参照してください。

オプション

--dry-run

    実際の変更を加えずに同期の実行をシミュレートする

--full

    完全同期の実行 (既定値は増分)

--interval duration

    ファイル システムのポーリング間隔 ( --watchの場合) (既定値は 1)

--output type

    出力形式の種類

--watch

    ローカル ファイル システムで変更を監視する

グローバル フラグ

例示

次の例では、ドライ ラン同期を実行します。

databricks bundle sync --dry-run

次の例では、変更と同期が自動的に監視されます。

databricks bundle sync --watch

次の例では、完全同期を実行します。

databricks bundle sync --full

databricks バンドルの検証

バンドル構成ファイルが構文的に正しいことを検証します。

databricks bundle validate [flags]

このコマンドは、既定でバンドル ID のサマリーを返します。

Name: MyBundle
Target: dev
Workspace:
  Host: https://my-host.cloud.databricks.com
  User: someone@example.com
  Path: /Users/someone@example.com/.bundle/MyBundle/dev

Validation OK!

注

bundle validate コマンドは、対応するオブジェクトのスキーマに見つからないバンドル構成ファイルでリソース プロパティが定義されている場合、警告を出力します。

バンドルの ID とリソースの概要のみを出力する場合は、 バンドルの概要を使用します。

オプション

グローバル フラグ

例示

次の例では、バンドル構成を検証します。

databricks bundle validate

グローバル フラグ

--debug

  デバッグ ログを有効にするかどうかを指定します。

-h または --help

    Databricks CLI、または関連コマンド グループ、または関連コマンドのヘルプの表示。

--log-file 文字列

    出力ログを書き込むファイルを表す文字列。 このフラグが指定されていない場合、既定では stderr に出力ログが書き込まれます。

--log-format 形式

    ログ形式の種類、 text 、または json。 既定値は text です。

--log-level 文字列

    ログ形式レベルを表す文字列。 指定しない場合、ログ形式レベルは無効になります。

-o, --output 型

    コマンド出力の種類( text または json)。 既定値は text です。

-p, --profile 文字列

    コマンドの実行に使用する ~/.databrickscfg ファイル内のプロファイルの名前。 このフラグが指定されていない場合は、存在する場合は、 DEFAULT という名前のプロファイルが使用されます。

--progress-format 形式

    進行状況ログを表示する形式: default、 append、 inplace、または json

-t, --target 文字列

    該当する場合は、使用するバンドル ターゲット

--var strings

    バンドル構成で定義されている変数の値を設定します。例: --var="foo=bar"