ローカルからDatabricksワークスペースにデプロイする方法
Databricks Asset Bundleとは
Databricks の Asset Bundle (DABs) は、
「Databricks 上のリソース(ノートブック・ジョブ・パイプラインなど)を
コードで一括管理し、デプロイできる仕組み」 です。
従来の手作業や Notebook ベースの管理に比べて、
- Git でのバージョン管理
- CI/CD パイプラインでの自動デプロイ
- 複数環境(dev/stg/prod)の切り替え
といったソフトウェアエンジニアリングのベストプラクティスを取り込みやすくなっています。
今回は VS Code と組み合わせて、ローカルから Databricks ワークスペースにノートブックをデプロイする流れを試してみます。
と言いつつ、最初に言い訳。
Asset Bundle 自体は、2023年ごろに CLI ベースの機能としてプレビュー提供され、
当初は「ローカルマシンから databricks bundle deploy
を実行する」使い方が中心でした。
しかし 2025年5月のアップデート により、 Databricks ワークスペース上でも Asset Bundle を直接活用できるように進化しました。これにより、ワークスペース上での共同編集と IaC 的なリソース管理を両立できるようになっています。
本来このタイミングで記事を書くなら、こちらの新しい機能のほうを取り扱うべきでしたが、記事を書き切った後に気づきました。
(ただ、まだGA前のプレビュー機能のようです)
環境
- VS Code
- Databricks 拡張機能 (Marketplace からインストール)
- Databricks CLI v0.221.0 以降
- Azure Databricks ワークスペース
手順
1. VS Code に Databricks 拡張を導入
Databricksの拡張を入れると、サイドバーにアイコンを表示できます。
2. ワークスペースと認証を設定
Create configuration
を押すと、ワークスペースの URL と認証方式を選ぶ画面が出ます。
AZ CLIを選択すると、ブラウザが立ち上がり、ワークスペースに使用するのと同じEntra IDでサインイン。
3. フォルダにdatabricks.yaml を作成
プロジェクトルートに databricks.yaml
を用意します。
databricks.yaml
bundle:
name: "任意の名前"
target: dev
targets:
dev:
workspace:
host: https://adb-xxxxxxxx.azuredatabricks.net
root_path: /Users/<ユーザー名>/<フォルダ名>
artifacts:
notebooks:
type: files
path: notebooks
files:
- source: notebooks/hello.py
ローカルの構成はこんな感じ。
📂 プロジェクトルート
├─ databricks.yaml
├─ README.md
└─ notebooks/
└─ hello.py
hello.py
には入れているのはこれ。
print("こんにちは、せとぅー!Databricks Asset Bundlesが動いています!")
4. デプロイ
準備ができたら以下を実行します。
databricks bundle deploy --profile <プロファイル名>
Uploading notebooks/hello.py...
Uploading bundle files to /Workspace/Users/.../0912-vscode-test/files...
Deploying resources...
Deployment complete!
ワークスペースに hello.py
がアップロードされているのを確認できました。
まとめ
- VS Code の拡張と CLI を組み合わせることで、ローカルのファイルを簡単に Databricks にデプロイできる
-
databricks.yaml
の書き方に少し戸惑うかも - 一度仕組みを作れば、Job や Pipeline などのリソースも
bundle deploy
で IaC 的に管理できる
Asset Bundle は今後ワークスペース上でも活用できる方向に進化しており、
「ローカルからのデプロイ」だけでなく「Databricks 上で共同編集しながら IaC 管理する」といった使い方も広がりそうです。
Discussion