Databricks 应用入门
本文介绍如何使用分步示例开始使用 Databricks 应用,以在本地开发环境中创建一个简单的应用,并将应用部署到 Azure Databricks 工作区。 此示例将引导你完成:
- 在本地创建和测试应用。
- 在本地测试后,使用 Databricks CLI 将应用添加到 Azure Databricks 工作区。
- 查看工作区中应用的详细信息页。
- 将应用的源代码和项目复制到工作区。
- 在工作区中查看应用的输出。
在逐步完成示例之前,请确保 Azure Databricks 工作区和本地开发环境满足要求。
Databricks 建议在开发应用时使用 Python 虚拟环境。 本文中的示例使用 pipenv 创建虚拟环境。 若要了解详细信息,请参阅 Python 虚拟环境:入门。
此示例在 Databricks Apps 模板库中也可用。 请参阅如何实现在 Databricks 应用 UI 中创建应用?
步骤 1:设置本地环境
打开终端并运行以下命令以执行以下操作:
- 创建并启动 Python 虚拟环境。
- 安装示例应用所需的 Python 库。
- 为应用的源和配置文件创建本地目录。
pipenv --python 3.11
pipenv shell
pip install gradio
pip install pandas
mkdir <app-dir-name>
cd <app-dir-name>
替换为 <app-dir-name>
应用文件的本地目录的名称, gradio-hello-world
例如。
步骤 2:为应用添加源和配置
在文本编辑器或你喜欢的集成开发环境(IDE)中,使用以下代码创建新的 Python 文件,并将其保存到所创建的目录。 此示例使用 Python 文件的文件名
app.py
:import gradio as gr import pandas as pd data = pd.DataFrame({'x': [x for x in range(30)], 'y': [2 ** x for x in range(30)]}) # Display the data with Gradio with gr.Blocks(css='footer {visibility: hidden}') as gradio_app: with gr.Row(): with gr.Column(scale=3): gr.Markdown('# Hello world!') gr.ScatterPlot(value=data, height=400, width=700, container=False, x='x', y='y', y_title='Fun with data', x_title='Apps') if __name__ == '__main__': gradio_app.launch()
在文本编辑器或 IDE 中,创建包含以下内容的新 YAML 文件,并将其保存到在创建的目录中命名
app.yaml
的文件:command: [ "python", "<app-name.py>" ]
替换为
<app-name.py>
包含应用代码的 Python 文件的名称。 例如,app.py
。
步骤 3:在本地测试应用
若要在本地测试应用,请打开终端并运行
python <app-name.py>
,并<app-name.py>
替换为包含应用代码的文件的名称。python app.py Running on local URL: http://127.0.0.1:7860 ...
若要查看应用的输出,请在浏览器窗口中打开
http://127.0.0.1:7860
。
步骤 4:将应用部署到工作区
若要在工作区中创建新应用并将代码从本地环境部署到工作区,请打开终端并完成以下步骤。
在 Azure Databricks 工作区中创建应用。
注意
- 创建应用后,无法更改分配给 Databricks 应用的名称,任何有权访问 Azure Databricks 工作区的用户都可以查看工作区中所有 Databricks 应用的名称和部署历史记录。 此外,应用名称包含在写入系统表的记录中。 由于这种可见性,命名 Databricks 应用时不应包含敏感信息。
- 该名称在托管应用的 Azure Databricks 工作区中必须唯一,并且必须仅包含小写字母、数字和连字符。
databricks apps create <app-name>
替换为
<app-name>
应用的名称。 例如,gradio-hello-world
。若要在命令完成后在工作区
create
中查看应用,请在边栏中单击“计算”,转到“应用”选项卡,然后单击“名称”列中指向应用的链接。将文件从本地环境同步到 Azure Databricks 工作区。 将文件从本地环境同步到工作区(包括文件的工作区路径)的命令位于 Databricks 的“同步源文件”下。 单击 此项可复制此命令。
在终端中,切换到包含应用文件的目录,并运行复制的
sync
命令。注意
如果本地应用目录中存在不希望命令
databricks sync
传输的特定文件或目录,请将这些文件或目录添加到.gitignore
本地应用目录中的文件。 例如,如果你的 Python 虚拟环境目录与应用位于同一目录中,请将目录的名称添加到.gitignore
文件中,并且sync
命令在传输文件时将跳过该目录。databricks sync --watch . /Workspace/Users/user@databricks.com/gradio-hello-world ... Initial Sync Complete
若要在命令完成后查看工作区
sync
中的同步文件,请单击边栏中的“工作区”,并转到为应用创建的目录。若要部署应用,请在终端中运行以下命令,替换为
<app-path>
应用文件的工作区路径。databricks apps deploy gradio-hello-world --source-code-path <app-path>
若要查看部署状态,请转到应用的详细信息页。
若要查看已部署应用的输出,请单击详细信息页上应用名称下的应用链接。
后续步骤
若要了解如何在 Databricks 应用 UI 中创建应用,请参阅如何实现在 Databricks Apps UI 中创建应用?。