チュートリアル: Databricks Connect を使用してローカルで Databricks アプリを開発する
Databricks アプリを使用すると、Databricks プラットフォーム上で安全なデータと AI アプリケーションを作成し、ユーザーと簡単に共有できます。PySpark と Databricks Connect を使用して Databricks アプリを開発することで、アプリで Apache Spark のパワーを活用できます。JDBC ドライバーと同様に、Databricks Connect は任意のアプリケーションに埋め込んで Databricks と対話することができます。さらに、 Databricks Connect PySparkを通じてPythonの完全な表現力を提供し、 SQLプログラミング言語のインピーダンスの不一致を排除し、 Databricksコンピュート上のSparkを使用してすべてのデータ変換を実行できるようにします。
アプリとDatabricks Connectの詳細については、 Databricksアプリ」およびDatabricks Connectとは何ですか?」を参照してください。
このチュートリアルでは、Databricks ワークスペースでシンプルな Databricks アプリを作成し、Databricks Connect を使用してローカルで開発する方法について説明します。アプリは、 Python 3.11 およびDatabricks Connect 15.4.* を使用してサーバーレス コンピュート上で実行されます。 異なるバージョンを使用するには、Python バージョンと Databricks Connect バージョンに互換性がある必要があります。Databricks Connect のバージョンを参照してください。
Databricks Connect を使用するより高度なサンプル アプリについては、 Databricks デモ GitHub リポジトリを参照してください。
要件
- Databricks ワークスペースとローカル開発環境は、Databricks アプリの要件を満たしている必要があります。「Databricks アプリのワークスペースと開発環境のセットアップ」を参照してください。
- Databricksワークスペースでは、 Unity Catalogとサーバレス コンピュートが有効になっている必要があります。
- Databricks CLI バージョン 0.250.0 以上がローカル マシンにインストールされています。インストールされている Databricks CLI のバージョンを確認するには、コマンド
databricks -vを実行します。Databricks CLI をインストールするには、 「Databricks CLI のインストールまたは更新」を参照してください。 - Python 3.11 がローカル マシンにインストールされています。
ステップ 1: 認証とサーバレスコンピュートを設定する
このチュートリアルでは、サーバレス コンピュートとDatabricks OAuthユーザー対マシン (U2M) 認証、およびDatabricksワークスペースへの認証にDatabricks構成プロファイルを使用します。
次のコマンドを実行して、Databricks CLI を使用して OAuth ログインを開始します。プロファイル名としてDEFAULT使用し、画面上の指示に従って Databricks ワークスペースにログインします。
databricks auth login --configure-serverless --host <workspace-url>
ステップ 2: アプリを作成する
次に、ワークスペースに Databricks アプリを作成します。
-
Databricks ワークスペースで、左側のサイドバーの [+ 新規] > [アプリ] をクリックします。
-
[テンプレートからインストール] で、 [ダッシュ] タブに移動します。
-
Hello world テンプレートを選択します。
-
アプリに dash-hello-world という名前を付けて、 「インストール」を クリックします。
これにより、選択したテンプレートに基づいて新しいアプリが作成され、ワークスペースにデプロイされて起動します。アプリを表示するには、 概要 ページの上部にある 実行 URL をクリックします。

ステップ 3: アプリをローカルマシンにコピーします
次に、アプリのソース コードをローカル マシンにダウンロードします。
-
アプリページの 「ファイルを同期」 の最初のコマンドをコピーします。
-
ローカル ターミナルでディレクトリ
dash-hello-worldを作成し、コピーしたコマンドを実行します。次に例を示します。Bashmkdir dash-hello-world
cd dash-hello-world
databricks workspace export-dir /Workspace/Users/someone@example.com/databricks_apps/dash-hello-world_2025_12_01-18_38/dash-hello-world-app .
このコマンドは、2 つの新しいファイルをapp.pyおよびapp.yamlという名前のディレクトリにコピーします。app.yaml 、エントリ ポイントや権限などのアプリの構成を定義します。app.py 、アプリの機能とユーザー インターフェースを実装するコードが含まれています。
ステップ 4: Databricks Connect追加する
Databricks アプリ用の Python 仮想環境を作成し、 databricks-connect要件として追加します。
-
プロジェクト フォルダーのルートに
.myvenvという仮想環境を作成し、アクティブ化します。Bashpython3.11 -m venv .myvenv
source .myvenv/bin/activate -
プロジェクトの
requirements.txtでアプリの依存関係を更新します。databricks-connect==15.4.*を追加:dash== 3.3.*
dash-bootstrap-components==2.0.*
pandas
plotly==6.5.*
databricks-sql-connector
databricks-sdk
python-dotenv
dash-ag-grid
databricks-connect==15.4.* -
requirements.txtの依存関係を仮想環境にインストールします。Bashpip install -r requirements.txt
ステップ 5: アプリを変更してローカルでテストする
アプリをローカルでカスタマイズして開発します。
-
Databricks Connect を使用して Databricks からデータを読み取り、Apache Spark を活用してデータ変換を実行するように
app.pyを更新します。また、データをインタラクティブにし、スタイル設定オプションを追加し、データのアップロードを可能にするコードを追加します。Python# app.py
import pandas as pd
from dash import Dash, dcc, html
import plotly.express as px
import dash_bootstrap_components as dbc
from databricks.connect.session import DatabricksSession
from pyspark.sql.functions import col
spark = DatabricksSession.builder.serverless().getOrCreate()
# Data transformations with Spark in Python
df = (spark.read.table("samples.nyctaxi.trips")
.select('trip_distance', 'fare_amount')
.filter(col('trip_distance') < 10)
.limit(1000))
chart_data = df.toPandas()
# Initialize the Dash app with Bootstrap styling
dash_app = Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP])
# Define the app layout
dash_app.layout = dbc.Container([
dbc.Row([dbc.Col(html.H1('Trip cost by distance'), width=12)]),
dcc.Graph(
id='fare-scatter',
figure=px.scatter(chart_data, x='trip_distance', y='fare_amount',
labels={'trip_distance': 'Trip distance (miles)', 'fare_amount': 'Fare amount (USD)'},
template='simple_white'),
style={'height': '500px', 'width': '1000px'}
)
], fluid=True)
if __name__ == '__main__':
dash_app.run(debug=True) -
アプリをローカルで実行してテストします。Python または Databricks CLI を使用して実行できます。
-
Python アプリを実行します。
Bashpython app.pyアプリを表示するには、ブラウザ ウィンドウで
http://127.0.0.1:8050/に移動します。 -
または、
databricks apps run-localコマンドを使用してアプリを実行し、デバッグします。このコマンドは、すべての依存関係をインストールし、仮想環境を準備してから、ポート 5678 でアプリとデバッガーを起動します。Bashdatabricks apps run-local --prepare-environment --debugブラウザウィンドウでhttp://localhost:8001に移動してアプリを表示します。
Visual Studio Code でブレークポイントを設定するには、Python デバッガー拡張機能をインストールし、 [実行] > [デバッグの開始] > [リモート アタッチ] に移動します。
-

ステップ 6: アプリを再デプロイする
最後に、ローカルで変更したアプリをDatabricksワークスペースにアップロードし、コンピュートにデプロイします。
Python 仮想環境全体を Databricks にアップロードしないようにするには、プロジェクトのルートに.myvenvを含む.gitignoreファイルが存在するか、これらのファイルを除外する.myvenvフォルダー内に存在している必要があります。
-
Databricksワークスペースで、[コンピュート]、 [アプリ] の 順 に クリックします。
dash-hello-worldアプリを選択します。 -
[ファイルの同期] で、 [将来の編集を同期] の下のコマンドを Databricks に コピーし、ローカル アプリ プロジェクト フォルダーから実行します。
Bashdatabricks sync --watch . /Workspace/Users/someone@example.com/databricks_apps/dash-hello-world_2025_12_05-21_35/dash-hello-world-app -
変更したアプリをコンピュートにデプロイするには、アプリ ページの [Deploy to Databricks Apps] の下にあるコマンドをコピーし、ローカル アプリ プロジェクト フォルダーから実行します。
Bashdatabricks apps deploy dash-hello-world --source-code-path /Workspace/Users/someone@example.com/databricks_apps/dash-hello-world_2025_12_05-21_35/dash-hello-world-app
デプロイが成功した場合、コマンドは確認 JSON を出力します。
{
"create_time": "2025-12-06T01:30:16Z",
"creator": "someone@example.com",
"deployment_artifacts": {
"source_code_path": "/Workspace/Users/1234abcd-5678-90ab-cdef-123456abcdef/src/abcd1234efgh5678ijkl9012mnop3456"
},
"deployment_id": "abcd1234efgh5678ijkl9012mnop3456",
"mode": "SNAPSHOT",
"source_code_path": "/Workspace/Users/someone@example.com/databricks_apps/dash-hello-world_2025_12_05-21_35/dash-hello-world-app",
"status": {
"message": "App started successfully",s
"state": "SUCCEEDED"
},
"update_time": "2025-12-06T01:30:20Z"
}
次のステップ
- アプリにアクセスして編集できるユーザーを管理するための承認を構成します。
- Databricks シークレットや Databricks SQL などの Databricks プラットフォーム機能とアプリを統合します。
- ワークスペース内または組織全体の他のユーザーとアプリを共有します。
- さまざまなフレームワークと機能を使用したアプリ テンプレートとエクスペリメントを探索します。