メインコンテンツまでスキップ

Databricks アプリをデプロイする

Databricks アプリを作成して開発したら、デプロイする準備が整います。デプロイにより、アプリは Databricks ワークスペースでアクセス可能になり、プロジェクト ファイルで定義されている設定を使用して実行されます。

注記

テンプレートからアプリを作成した場合、Databricks は最初にアプリを作成したときに自動的にデプロイします。ただし、変更を加えた後でも再デプロイできます。「テンプレートから Databricks アプリを作成する」を参照してください。

デプロイロジック

Databricks Apps は、Python、Node.js、またはその両方の組み合わせを使用するアプリケーションのデプロイをサポートしています。これにより、Pythonバックエンドを備えたNode.jsフロントエンドなどの柔軟なアーキテクチャが可能になります。

デプロイ中、ビルド プロセスはアプリ ディレクトリのルートにある package.json ファイルをチェックして、Node.js が使用されているかどうかを判断します。存在する場合は、Python ステップと並んでノード固有のビルド ステップが含まれます。デプロイ ロジックは、次のパターンに従います。

package.jsonが存在する場合 :

  1. 実行 npm install
  2. pip install -r requirements.txtの実行 (存在する場合)
  3. npm run buildの実行 (buildスクリプトが package.jsonで定義されている場合)
  4. 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"のようになります。

必要なすべてのNode.js 依存関係をpackage.json Node.jsDatabricksで定義してください。これは、 Apps 環境に ライブラリがプレインストールされていないためです。

package.json存在しない場合 :

  1. pip install -r requirements.txtの実行 (存在する場合)
  2. app.yamlで指定されたコマンドを実行するか、コマンドが指定されていない場合は python <my-app>.py を実行します

デプロイの準備

アプリをデプロイする前に、プロジェクトに必要なコンポーネントが含まれていることを確認します。

  • メインスクリプト - エントリポイントファイル( app.pyapp.jsなど)
  • オプションの app.yaml ファイル - アプリでカスタム コマンドまたは環境変数が必要な場合は、実行を構成するための app.yaml ファイルを含めます。「app.yamlを使用した Databricks アプリの実行の構成」を参照してください。
  • 依存関係 - すべての依存関係が使用可能であることを確認します。「Databricks アプリの依存関係を管理する」を参照してください。
  • シークレットまたは環境の値 - app.yamlenv セクションを使用する場合は、参照されているシークレットまたは外部ソースが正しく構成され、アクセス可能であることを確認します。「Databricks アプリにリソースを追加する」を参照してください。

さらに、アプリ サービスプリンシパル がソース コード フォルダーにアクセスできることを確認します。

アプリをデプロイする

Databricks UI からアプリをデプロイするには:

  1. アプリ ファイルを Databricks ワークスペースにアップロードします。手順については、「 ファイルのインポート」を参照してください。
  2. サイドバーのコンピュートアイコンコンピュート ]をクリックします。
  3. [アプリ ] タブに移動し、[ 名前 ] 列にあるアプリへのリンクをクリックします。
  4. [ デプロイ ] をクリックし、アプリ ファイルをアップロードしたワークスペース内のフォルダーを選択します。
  5. 「選択」 をクリックし、「 デプロイ」 をクリックします。
  6. 設定を確認し、[ デプロイ] をクリックします。

デプロイが完了すると、Databricks は app.yaml ファイルで定義されたcommandに基づいてアプリを起動するか、デフォルトで python app.pyを実行します。

デプロイ後の動作

デプロイ後、アプリは管理された環境で実行されます。デプロイの状態を表示するには、アプリの概要ページに移動します。

アプリのデプロイ後にアプリの詳細ページを表示する

デプロイされたアプリの出力を表示するには、アプリのリンクをクリックします。

ログ 」タブに移動して、デバッグとランタイム・モニタリングを行います。「Databricks アプリのログを表示する」を参照してください。

アプリを更新または再デプロイする

ソース コードに変更を加えた場合、 app.yaml ファイルを更新した場合、または別のソース コード パスからデプロイする必要がある場合は、アプリを更新または再デプロイできます。再デプロイでは、アプリを最初から再作成しなくても、最新の更新プログラムが適用されます。

デプロイされたアプリに変更を加えるには:

  1. アプリのコードまたは app.yaml 設定を更新します。
  2. Databricks ワークスペースの [アプリ ] ページに戻ります。
  3. アプリを選択し、もう一度 [デプロイ ] を選択します。ソース コード パスが変更された場合は、[ デプロイ ] の横にある矢印をクリックし、[ 別のソース コード パスを使用してデプロイ ] を選択します

デプロイの問題のトラブルシューティング

アプリのデプロイに失敗した場合、または期待どおりに実行されない場合は、次のトラブルシューティング手順を試してください。

  • ログの確認 - ログ パネルでエラー メッセージまたはランタイム出力を表示します。
  • app.yamlの検証 - 構文が正しく、サポートされている設定が使用されていることを確認します。
  • シークレットと環境変数を確認する - env セクション内のすべての参照が正しく解決されることを確認します。
  • 依存関係の確認 - 必要なすべてのパッケージが含まれているか、インストールされていることを確認します。