Databricks Appsのためのローカル仮想環境構築
Databricks Appsでカスタムアプリを開発するためのローカル環境構築手順を詳しく解説。Python3.11.0のインストールからPoetryによるライブラリ管理、デプロイに必要なファイル準備まで、初心者でも分かりやすくステップバイステップで説明します。
1 はじめに
Databricks Apps(Databricks アプリ)は、一部のリージョンで現在パブリックプレビュー中の機能で、データアプリケーションやAIアプリケーションをDatabricksプラットフォーム上でデプロイすることができます。
Databricks AppsにはStreamlitやFlaskなどを用いた「テンプレートアプリ」も用意されていますが、自分好みのアプリケーション(「カスタムアプリ」とよばれる)を構築したければ、ローカル仮想環境を構築する必要があります。
ローカル環境でDatabricks Appsのためのアプリを開発する基本的な手順は以下のとおりです。
1: ローカルにPythonをインストールする
2: pip、poetryなどを用いて必要なPythonライブラリをインストールする
3: アプリのソースコードをapp.pyに書く
4: Databricks Appsにデプロイする
本ブログ記事では、上記の1、2の部分をステップバイステップで解説します。本記事を読めば、ローカル環境でカスタムアプリを開発するための環境構築の手順がマスターできます!
2 Pythonをインストールする
まずはPythonをインストールする必要があります。既にインストールされている場合はそれを用いてもよいですが、Databricks Appsではデプロイ後のDatabricks環境におけるPythonバージョンが3.11.0なので、このバージョンに合わせておくのが良いと思います。
以下では、筆者のMacBook Air M1にPython3.11.0をインストールした手順を説明します。
参考にした記事:https://zenn.dev/kenghaya/articles/9f07914156fab5
1: pyenvをインストール
Pythonバージョンを切り替えたい場面が出てきた時のために、Homebrewでpyenvをインストールしておきます。この部分は自身の環境に合わせて変更可能です。
brew install pyenv2: Pythonをインストール
pyenvでPython3.11.0をインストールします。pyenv global 3.11.0 まで実行してください。
pyenv install 3.11.0
pyenv global 3.11.03: Poetryをインストール ライブラリ管理のためにPoetryをインストールします。 必ずしもPoetryである必要はなく、むしろpipなどのrequirements.txtでライブラリのバージョンが記述されるツールのほうがいいです(後述)。
curl -sSL https://install.python-poetry.org | python3 -3 Pythonライブラリのインストール
Poetryを用いてプロジェクト用のディレクトリを作成し、Pythonライブラリをインストールする手順を説明します。使用しているパッケージ管理ツールによってこのセクションは読み替えてください。
1: Poetry プロジェクト作成
以下をターミナルで実行して、アプリ用の新規プロジェクトを作成します。
poetry new <project-name>
cd <project-name>2: Python バージョン固定・依存解決
仮想環境をPython3.11で統一します。
poetry env use 3.11
poetry install
3: 必要なライブラリをインストール
Streamlitなど、必要なライブラリをインストールします。PoetryはPythonのバージョンに合わせてライブラリのバージョンを自動で決めてくれるのでその点は優れています。
poetry add streamlit
poetry add <Python-library>4 デプロイ時に必要になるファイル
ここまでの設定が完了すれば、あとは実際にapp.pyを書いていけばよいです。ただし、最終的にDatabricks Appsにデプロイするにあたり、ローカル環境の時点で準備しておくべきファイルがあるので説明します。
必要なファイル
Databricks環境にデプロイするときに必要なのは以下の3つです。
app.py
- アプリのソースコードを書くファイル
app.yaml
- DatabricksのワークスペースIDやAPIキーなどの環境変数を書いておくファイル
- ローカル環境では
.envに記述しておくと良いと思います
requirements.txt
- この名前のテキストファイルである必要があります
- Poetryを使っている場合はpoetry.lockに依存関係が記録されるので、生成AIに投げるなどしてデプロイ用の
requirements.txtを作成してください - はじめから
requirements.txtに依存関係を記録するツール(pipなど)を使うほうが手間がかからなくてよいです
app.yamlの書き方など、より詳細な情報については以下を参考にしてください。
5 おわりに
本記事ではDatabricks Appsで「カスタムアプリ」を構築するためのローカル環境構築の手順を紹介しました。環境構築さえできれば、あとはアプリのソースコードを記述していくだけです!本記事がDatabricks Appsを利用しようとしている方の参考になれば幸いです。


