Databricks アセットバンドルは、データおよびAIプロジェクトにおいて、ソース管理、コードレビュー、テスト、継続的インテグレーションとデリバリー(CI/CD)を含むソフトウェアエンジニアリングのベストプラクティスを導入するためのツールです。 バンドルを使用すると、プロジェクトのソース ファイルと共にメタデータを含め、ジョブやパイプラインなどの Databricks リソースをソース ファイルとして記述できます。 最終的には、バンドルはプロジェクトのエンドツーエンドの定義であり、プロジェクトの構造、テスト、配置の方法を含みます。 これにより、アクティブな開発時にプロジェクトでの共同作業が容易になります。
バンドル プロジェクトのソース ファイルとメタデータのコレクションは、ターゲット環境に 1 つのバンドルとしてデプロイされます。 バンドルには以下の部分が含まれます。
- 必要なクラウド インフラストラクチャとワークスペースの構成
- ビジネス ロジックが含まれるソース ファイル (ノートブックや Python ファイルなど)
- Databricks リソースの定義と設定 (Lakeflow ジョブ、Lakeflow Spark 宣言パイプライン、ダッシュボード、モデル サービス エンドポイント、MLflow 実験、MLflow 登録済みモデルなど)
- 単体テストと統合テスト
次の図は、バンドルを含む開発および CI/CD パイプラインの概要を表しています。
ビデオチュートリアル
このビデオでは、Databricks アセット バンドルを操作する方法を示します (5 分)。
バンドルをいつ使用するべきか
Databricks アセット バンドルは、Databricks プロジェクトを管理するためのコードとしてのインフラストラクチャ (IaC) アプローチです。 複数の共同作成者と自動化が不可欠であり、継続的インテグレーションとデプロイ (CI/CD) が必要な複雑なプロジェクトを管理する場合にこれらを使用します。 バンドルは、ソース コードと共に作成および管理する YAML テンプレートとファイルを使用して定義および管理されるため、IaC が適切なアプローチであるシナリオに適切にマップされます。
バンドルの理想的なシナリオには、次のようなものがあります。
- チームベースの環境で、データ、分析、ML プロジェクトを開発します。 バンドルは、さまざまなソース ファイルを効率的に整理および管理するのに役立ちます。 これにより、スムーズなコラボレーションと合理化されたプロセスが保証されます。
- ML の問題をより迅速に反復処理します。 運用のベスト プラクティスに従う ML プロジェクトを最初から使用して、ML パイプライン リソース (トレーニング、バッチ推論ジョブなど) を管理します。
- カスタム バンドル テンプレート (既定のアクセス許可、サービス プリンシパル、CI/CD 構成を含む) を作成することで、新しいプロジェクトの組織標準を設定します。
- 規制コンプライアンス: 規制コンプライアンスが重要な問題である業界では、バンドルが、コードとインフラストラクチャの作業のバージョン管理された履歴を維持するのに役立ちます。 これにより、ガバナンスが支援され、必要なコンプライアンス基準が確実に満たされます。
バンドルのしくみ
バンドル メタデータは、Databricks プロジェクトの成果物、リソース、および構成を指定する YAML ファイルを使用して定義されます。 その後、Databricks CLI を使用して、これらのバンドル YAML ファイルを使用してバンドルを検証、デプロイ、実行できます。 IDE、ターミナル、または Databricks 内から直接、バンドル プロジェクトを実行できます。
バンドルは、手動で作成することも、テンプレートに基づいて作成することもできます。 Databricks CLI には単純なユース ケース用の既定のテンプレートが用意されていますが、より具体的なジョブや複雑なジョブの場合は、カスタム バンドル テンプレートを作成してチームのベスト プラクティスを実装し、一般的な構成の一貫性を保つことができます。
Databricks アセット バンドルを表現するために使用される構成 YAML の詳細については、 Databricks アセット バンドルの構成に関するページを参照してください。
バンドルを使用するには、何をインストールする必要がありますか?
Databricks アセット バンドルは、Databricks CLI の機能です。 バンドルをローカルでビルドした後、Databricks CLI を使用してリモート Databricks ワークスペースをターゲットにバンドルをデプロイし、コマンド ラインからそれらのワークスペースでバンドル ワークフローを実行します。
注
ワークスペースでバンドルを使用するだけの場合は、Databricks CLI をインストールする必要はありません。 ワークスペースのバンドルでの共同作業を参照してください。
Azure Databricks ワークスペースでバンドルをビルド、デプロイ、実行するには:
リモート Databricks ワークスペースでは、ワークスペース ファイルが有効になっている必要があります。 Databricks Runtime バージョン 11.3 LTS 以降を使用している場合、この機能は既定で有効になっています。
Databricks CLI バージョン v0.218.0 以降をインストールする必要があります。 Databricks CLI をインストールまたは更新するには、 Databricks CLI のインストールまたは更新に関する記事を参照してください。
Databricks では、 新しいバンドル機能を利用するために、CLI の最新バージョンに定期的に更新することをお勧めします。 Databricks CLI のバージョンがインストールされていることを確認するには、次のコマンドを実行します。
databricks --versionDatabricks ワークスペースにアクセスするように Databricks CLI を構成しました。 Databricks では、「ワークスペースへのアクセスの構成」で説明されている OAuth ユーザーからマシンへの (U2M) 認証を使用して アクセスを構成することをお勧めします。 その他の認証方法については、「 Databricks アセット バンドルの認証」を参照してください。
バンドルの使用を開始する方法
ローカル バンドル開発を最も早く開始する方法は、バンドル プロジェクト テンプレートを使用することです。 Databricks CLI bundle init コマンドを使用して、最初のバンドル プロジェクトを作成します。 このコマンドにより、Databricks が提供する既定のバンドル テンプレートの選択肢が表示され、プロジェクト変数を初期化するための一連の質問が表示されます。
databricks bundle init
バンドルの作成は、バンドルのライフサイクルの最初 の手順です。 次に、 databricks.yml およびリソース 構成ファイルでバンドル設定とリソースを定義して、バンドルを開発します。 最後に、バンドルを 検証 して デプロイ し、 ワークフローを実行します。
ヒント
バンドル構成の例は、 バンドル構成の例 と GitHub の Bundle サンプル リポジトリにあります。
次のステップ
- ノートブックを Azure Databricks ワークスペースにデプロイし、そのデプロイされたノートブックを Azure Databricks ジョブまたはパイプラインで実行するバンドルを作成します。 「Databricks アセット バンドルを使用したジョブの開発」と「Databricks アセット バンドルを使用した Lakeflow Spark 宣言型パイプラインの開発」を参照してください。
- MLOps Stack をデプロイして実行するバンドルを作成します。 MLOps スタックの Databricks アセット バンドルを参照してください。
- GitHub の CI/CD (継続的インテグレーション/継続的デプロイ) ワークフローの一部としてバンドルデプロイを開始します。 パイプライン更新を実行するバンドルを使用した CI/CD ワークフローの実行を参照してください。
- Python ホイール ファイルをビルド、デプロイ、呼び出すバンドルを作成します。 Databricks アセット バンドルを使用した Python ホイール ファイルの作成を参照してください。
- ワークスペース内のジョブまたはその他のリソースの構成をバンドルで生成し、ワークスペース内のリソースにバインドして、構成が同期された状態を保ちます。 databricks バンドルの生成 と databricks バンドルのデプロイ バインドに関する説明を参照してください。
- ワークスペースにバンドルを作成してデプロイします。 ワークスペースのバンドルでの共同作業を参照してください。
- 自分や他のユーザーがバンドルの作成に使用できるカスタム テンプレートを作成します。 カスタマムテンプレートには、既定のアクセス許可、サービス プリンシパル、カスタムの CI/CD 構成を含めることができます。 Databricks アセット バンドル プロジェクト テンプレートを参照してください。
- dbx から Databricks アセットバンドルに移行する dbx からバンドルへの移行を参照してください。
- Databricks アセット バンドル用にリリースされた最新の主要な新機能について説明します。 Databricks アセット バンドル機能のリリース ノートを参照してください。