Databricks Apps 允许你在 Databricks 平台上创建安全数据和 AI 应用程序,以便与用户轻松共享。 通过使用 PySpark 和 Databricks Connect 开发 Databricks 应用,可以利用应用中 Apache Spark 的强大功能。 与 JDBC 驱动程序类似,Databricks Connect 可以嵌入到任何应用程序中以与 Databricks 交互。 此外,Databricks Connect 通过 PySpark 提供 Python 的完整表现力,使你能够使用 Databricks 计算上的 Spark 运行所有数据转换。
有关应用和 Databricks Connect 的详细信息,请参阅 Databricks Apps 和 什么是 Databricks Connect?。
本教程介绍如何在 Databricks 工作区中创建简单的 Databricks 应用,然后使用 Databricks Connect 在本地开发它。 该应用使用 Python 3.11 和 Databricks Connect 15.4.*在无服务器计算上运行。 若要使用其他版本,Python 版本和 Databricks Connect 版本必须兼容。 请参阅 Databricks Connect 版本。
小窍门
有关使用 Databricks Connect 的更高级示例应用,请参阅 Databricks Demos GitHub 存储库。
要求
- Databricks 工作区和本地开发环境必须满足 Databricks Apps 的要求。 请参阅 设置 Databricks Apps 工作区和开发环境。
- Databricks 工作区必须启用 Unity 目录,并且 无服务器计算 可用(在具有 Unity 目录的工作区中默认启用)。
- 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,然后运行复制的命令,例如:mkdir 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 .
该命令将两个新文件复制到名为 app.py 和 app.yaml 的目录。
app.yaml 定义应用的配置,包括应用的入口点和权限。
app.py 包含实现应用功能和用户界面的代码。
步骤 4:添加 Databricks Connect
为 Databricks 应用创建 Python 虚拟环境,并作为要求添加 databricks-connect 。
在项目文件夹的根目录中创建一个调用
.myvenv的虚拟环境并激活它:python3.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安装到虚拟环境中:pip install -r requirements.txt
步骤 5:修改应用并在本地测试
在本地自定义和开发应用。
更新
app.py以通过 Databricks Connect 从 Databricks 读取数据,并利用 Apache Spark 进行数据转换。 此外,添加代码以使数据交互、添加样式选项并允许数据上传。# 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 应用。
python app.py导航到
http://127.0.0.1:8050/浏览器窗口中以查看应用。databricks apps run-local或使用命令运行和调试应用。 此命令安装所有依赖项并准备虚拟环境,然后在端口 5678 上启动应用和调试器。databricks apps run-local --prepare-environment --debug导航到 http://localhost:8001 浏览器窗口中以查看应用。
若要在 Visual Studio Code 中设置断点,请安装 Python 调试器扩展,然后转到 “运行>启动调试>远程附加”。
步骤 6:重新部署应用
最后,将本地修改的应用上传到 Databricks 工作区,并将其部署到计算资源环境。
重要
为了避免将整个 Python 虚拟环境上传到 Databricks,你的项目应在根目录中包含一个 .gitignore 文件并在该文件中使用 .myvenv,或者在排除这些文件的文件夹内包含一个 .myvenv 文件。
在 Databricks 工作区中,单击“ 计算”,然后单击 “应用”。 选择应用
dash-hello-world。在 “同步文件”下,将 “同步未来编辑”下的命令复制回 Databricks, 然后从本地应用项目文件夹运行该命令:
databricks sync --watch . /Workspace/Users/someone@example.com/databricks_apps/dash-hello-world_2025_12_05-21_35/dash-hello-world-app若要将修改的应用部署到计算,请在应用页上的 “部署到 Databricks Apps ”下复制命令,然后从本地应用项目文件夹运行该命令:
databricks 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"
}