この記事は
この記事は DENSO Advent Calendar 2025 の6日目の記事です。
Databricks 上のテーブルをクエリしてデータを可視化するアプリケーションを作る機会があったので、簡易的に PoC を行うのにちょうど良さそうな Databricks Apps を触ってみました。この記事では Databricks Apps の紹介と、使い方、分かったこと・感想を書いていきます。
Databricks Apps とは
公式ドキュメント
https://docs.databricks.com/gcp/ja/dev-tools/databricks-apps/
Databricks Apps は、Databricks ワークスペース内に Web アプリをホストできる仕組みです。
- Databricks 上で Web サーバを立てられる
- Databricks に対してクエリを投げる
- 特定の API 呼び出しを行う
- Databricks CLI から簡単にデプロイ可能
といった特徴があり、Streamlit などの Web フレームワークを使って Web アプリを簡単にデプロイできる機能です。
使い方
Microsoft Azure 上の Databricks 環境でやっています。
Databricks へのログイン後、コンピュート -> アプリ -> アプリを作成 でアプリの新規作成画面に移ります。
今回はローカルで開発していた Next.js アプリをデプロイしたかったので、カスタムアプリを作成 を選択しました。
アプリ名、説明 を入力、構成のページにてテーブルへのクエリに必要な SQL ウェアハウスの指定を行います。ここまで入力が完了したら アプリを作成 でデプロイ先のアプリリソースが完成します。
作成すると、アプリの詳細画面に遷移します。そのページに記載のある以下コマンドをデプロイしたいアプリケーションコードのあるディレクトリ直下で実行することにより、アプリがデプロイされます。ローカルで作成したアプリをデプロイするには、Databricks CLI の実行ディレクトリ直下に app.yaml を作成する必要があります。
参考:
https://docs.databricks.com/gcp/ja/dev-tools/databricks-apps/app-runtime
例:
command: ['streamlit', 'run', 'app.py']
env:
- name: 'DATABRICKS_WAREHOUSE_ID'
valueFrom: sql-warehouse
- name: 'STREAMLIT_GATHER_USAGE_STATS'
value: 'false'
デプロイには Databricks CLI を使用します。
CLI のインストール:
https://docs.databricks.com/aws/ja/dev-tools/cli/install
まず認証情報を設定します。
databricks configure --profile DEFAULT
入力例:
Databricks workspace host (https://...): https://hogehoge.azuredatabricks.net
Personal access token: ************************************
セットアップ後、以下のコマンドでデプロイを行います。デプロイには Databricks 環境内のワークスペースに存在するソースコードを使用して行うため、事前にワークスペースへコピーしておく必要があります。先に行う sync コマンドはコピーを実行するコマンドです。
databricks sync --watch . /Workspace/Users/<databricks_user_name>/<databricks_apps_name>
databricks apps deploy sample --source-code-path /Workspace/Users/<databricks_user_name>/<databricks_apps_name>
デプロイが成功すると、Databricks の アプリ一覧画面から「アプリを開く」 でアクセス可能になります。
アプリから Databricks へのアクセス(Node.js)
クエリ実行の方法は以下が参考になります。
Azure Databricks 特有の注意点
Azure 上の Databricks では、Node.js SQL Driver 利用時に
azureTenantIduseDatabricksOAuthInAzure
を connect オプションに指定しないと認証エラーになるケースがありました。
テナント ID は Azure Entra ID の概要画面から確認できます。
分かったこと
Pros
- デプロイは簡単
- Databricks ユーザーを使ってアクセス制御可能
- トークンなどの認証情報を使わずにカタログなどの Databricks リソースへアクセス可能
Cons
- リソース上限がある
- アプリ ファイルのサイズは 10MB まで
- コンピュートが停止すると ログも削除される
- Standard レベルのワークスペースでは利用不可
- 作成可能なアプリ数に上限あり
まとめ
Databricks リソースと連携させた PoC 等で環境構築を素早くやりたい用途にはフィットしている様に感じました。現時点は上限や制限がいくらかありますが、もし Databricks と連携させたアプリを開発する機会があれば、触ってみると良いのではないでしょうか。



