Databricks アプリをデプロイする
Databricks アプリを作成して開発したら、それをデプロイして、Databricks ワークスペースでアクセスできるようにします。デプロイメントでは、プロジェクト ファイルで定義された構成を使用してアプリがビルドされ、依存関係がインストールされ、実行されます。Databricks UI または Databricks CLI を使用してアプリをデプロイできます。
テンプレートからアプリを作成した場合、Databricks は最初にアプリを作成したときに自動的にデプロイします。ただし、変更を加えた後でも再デプロイできます。「テンプレートから Databricks アプリを作成する」を参照してください。
デプロイロジック
Databricks Apps は、Python、Node.js、またはその両方の組み合わせを使用するアプリケーションのデプロイをサポートしています。これにより、Pythonバックエンドを備えたNode.jsフロントエンドなどの柔軟なアーキテクチャが可能になります。
デプロイ中、ビルド プロセスはアプリ ディレクトリのルートにある package.json ファイルをチェックして、Node.js が使用されているかどうかを判断します。存在する場合は、Python ステップと並んでノード固有のビルド ステップが含まれます。デプロイ ロジックは、次のパターンに従います。
package.jsonが存在する場合 :
- 実行
npm install pip install -r requirements.txtの実行 (存在する場合)npm run buildの実行 (buildスクリプトがpackage.jsonで定義されている場合)app.yamlで指定されたコマンドを実行するか、コマンドが指定されていない場合はnpm run startを実行します
app.yamlでコマンドが指定されていない場合、Databricks は、アプリに Python コードが含まれていても npm run startを実行します。Python プロセスと Node.js プロセスの両方を実行するには、concurrently などのツールを使用して両方を起動するカスタム start スクリプトを定義します。たとえば、 concurrently "npm run start:node" "python my_app.py"のようになります。
package.json存在しない場合 :
pip install -r requirements.txtの実行 (存在する場合)app.yamlで指定されたコマンドを実行するか、コマンドが指定されていない場合はpython <my-app>.pyを実行します
展開の準備
アプリをデプロイする前に、プロジェクトに必要なコンポーネントが含まれていることを確認します。
- メインスクリプト - エントリポイントファイル(
app.pyやapp.jsなど) - オプションの
app.yamlファイル - アプリでカスタム コマンドまたは環境変数が必要な場合は、実行を構成するためのapp.yamlファイルを含めます。「app.yamlを使用した Databricks アプリの実行の構成」を参照してください。 - 依存関係 - すべての依存関係が使用可能であることを確認します。「Databricks アプリの依存関係を管理する」を参照してください。
- シークレットまたは環境の値 -
app.yamlのenvセクションを使用する場合は、参照されているシークレットまたは外部ソースが正しく構成され、アクセス可能であることを確認します。「Databricks アプリにリソースを追加する」を参照してください。
さらに、アプリ サービスプリンシパル がソース コード フォルダーにアクセスできることを確認します。
アプリを展開する
- Databricks UI
- Databricks CLI
Databricks UI からアプリをデプロイするには:
- アプリ ファイルを Databricks ワークスペースにアップロードします。手順については、「 ファイルのインポート」を参照してください。
- サイドバーの
[ コンピュート ]をクリックします。
- [アプリ ] タブに移動し、[ 名前 ] 列にあるアプリへのリンクをクリックします。
- [ デプロイ ] をクリックし、アプリ ファイルをアップロードしたワークスペース内のフォルダーを選択します。
- 「選択」 をクリックし、「 デプロイ」 をクリックします。
- 設定を確認し、[ デプロイ] をクリックします。
CLI を使用してアプリをデプロイするには:
-
ターミナルを開き、アプリファイルが含まれているディレクトリに移動します。
-
syncコマンドを使用して、アプリ ファイルを Databricks ワークスペースにアップロードします。パスを、ファイルをアップロードするワークスペースの場所に置き換えます。Bashdatabricks sync --watch . /Workspace/Users/my-email@org.com/my-app--watchフラグは同期プロセスを実行し続け、ローカルでファイルを変更すると変更を自動的にアップロードします。特定のファイルまたはディレクトリを同期から除外するには、それらをローカル アプリ ディレクトリ内の.gitignoreファイルに追加します。除外する一般的なファイルはnode_modules/、.env、__pycache__/、.DS_Store、および大きなデータ ファイルやビルド アーティファクトです。 -
ワークスペース内のファイルを表示してアップロードを確認します。クリック
サイドバーの ワークスペースをクリック し、アプリ用に作成したディレクトリに移動します。
-
次のコマンドを実行してアプリをデプロイします。アプリ名とソースコードパスを実際の値に置き換えます。
Bashdatabricks apps deploy my-app-name \
--source-code-path /Workspace/Users/my-email@org.com/my-appCLI はデプロイメントの進行状況を表示し、アプリが実行中であることを確認します。
デプロイが完了すると、Databricks は app.yaml ファイルで定義されたcommandに基づいてアプリを起動するか、デフォルトで python app.pyを実行します。
展開後の行動
デプロイが完了すると、Databricks は管理された環境でアプリを起動します。アプリの詳細ページには現在のステータスが表示され、ログ、デプロイ履歴、環境情報にアクセスできます。

デプロイされたアプリの出力を表示するには、アプリのリンクをクリックします。
「 ログ 」タブに移動して、デバッグとランタイム・モニタリングを行います。「Databricks Appsのロギングとモニタリング」を参照してください。
アプリを更新または再デプロイする
ソース コードに変更を加えた場合、 app.yaml ファイルを更新した場合、または別のソース コード パスからデプロイする必要がある場合は、アプリを更新または再デプロイできます。再デプロイでは、アプリを最初から再作成しなくても、最新の更新プログラムが適用されます。
デプロイされたアプリに変更を加えるには:
- アプリのコードまたは
app.yaml設定を更新します。 - Databricks ワークスペースの [アプリ ] ページに戻ります。
- アプリを選択し、もう一度 「デプロイ」 を選択します。ソース コード パスが変更された場合は、 [デプロイ] の横にある矢印をクリックし、 [別のソース コード パスを使用してデプロイ] を選択します。
展開の問題のトラブルシューティング
アプリがデプロイに失敗するか、期待どおりに実行されない場合は、次のトラブルシューティング ステップを試してください。
- ログの確認 - ログ パネルでエラー メッセージまたはランタイム出力を表示します。
app.yamlの検証 - 構文が正しく、サポートされている設定が使用されていることを確認します。- シークレットと環境変数を確認する -
envセクション内のすべての参照が正しく解決されることを確認します。 - 依存関係の確認 - 必要なすべてのパッケージが含まれているか、インストールされていることを確認します。