创建并开发 Azure Databricks 应用后,请部署它,使其可在 Azure Databricks 工作区中访问。 部署生成应用,安装依赖项,并使用项目文件中定义的配置运行它。 可以使用 Azure Databricks UI 或 Azure Databricks CLI 部署应用。
注释
如果从模板创建应用,Azure Databricks 会在首次创建应用时自动部署它。 但是,在进行更改后,仍可以稍后重新部署它。 请参阅 从模板创建 Databricks 应用。
部署逻辑
Databricks Apps 支持部署使用 Python、Node.js或两者组合的应用程序。 这允许灵活的架构,例如一个 Node.js 前端与一个 Python 后端。
在部署期间,构建过程会检查应用程序目录根的 package.json 文件,以确定是否使用了 Node.js。 如果存在,它将包含特定于 Node.js 的构建步骤以及 Python 步骤。 部署逻辑遵循以下模式:
如果 package.json 存在:
- 运行
npm install - 运行
pip install -r requirements.txt(如果存在) - 运行
npm run build(如果在build中定义了package.json脚本) - 运行指定的
app.yaml命令,或者npm run start如果未指定任何命令
注释
如果未指定 app.yaml命令,则即使应用包含 Python 代码,Azure Databricks 也会执行 npm run start。 若要同时运行 Python 和 Node.js 进程,请定义一个自定义start脚本,使用concurrently等工具同时启动这两个进程。 例如: concurrently "npm run start:node" "python my_app.py"。
如果 package.json 不存在:
- 运行
pip install -r requirements.txt(如果存在) - 运行指定的
app.yaml命令,或者python <my-app>.py如果未指定任何命令
准备部署
在部署应用之前,请验证项目是否包含必要的组件:
-
主脚本 - 入口点文件,例如
app.py或app.js。 -
可选
app.yaml文件 - 如果应用需要自定义命令或环境变量,请包含用于app.yaml配置执行的文件。 请参阅使用app.yaml配置 Databricks 应用执行。 - 依赖项 - 确保所有依赖项都可用。 请参阅 管理 Databricks 应用的依赖项。
-
机密或环境值 - 如果使用
env中的app.yaml节,请验证引用的机密或外部源是否已正确配置和可访问。 请参阅 将资源添加到 Databricks 应用。
此外,请确保应用 服务主体 有权访问源代码文件夹。
部署应用
Databricks 用户界面
若要从 Azure Databricks UI 部署应用,请执行以下作:
- 将应用文件上传到 Azure Databricks 工作区。 有关说明,请参阅 导入文件。
- 单击侧栏中的
计算。 - 转到“ 应用 ”选项卡,然后单击“ 名称 ”列中应用的链接。
- 单击“ 部署 ”并选择在其中上传应用文件的工作区中的文件夹。
- 单击 “选择”,然后单击 “部署”。
- 查看配置,然后单击“ 部署”。
Databricks 命令行界面 (CLI)
若要使用 CLI 部署应用,请执行以下作:
打开终端并导航到包含应用文件的目录。
使用
sync命令将应用文件上传到 Azure Databricks 工作区。 将路径替换为要上传文件的工作区位置。databricks sync --watch . /Workspace/Users/my-email@org.com/my-app该
--watch标志使同步进程保持运行状态,并在本地修改文件时自动上传更改。 若要从同步中排除特定文件或目录,请将它们添加到.gitignore本地应用目录中的文件。 要排除的常见文件包括node_modules/、.env、__pycache__/和.DS_Store任何大型数据文件或生成项目。通过查看工作区中的文件来验证上传。 单击边栏中的
工作区” ,并导航到为应用创建的目录。通过运行以下命令部署应用。 将应用名称和源代码路径替换为你的值。
databricks apps deploy my-app-name \ --source-code-path /Workspace/Users/my-email@org.com/my-appCLI 显示部署进度,并确认应用运行时。
部署后,Azure Databricks 会根据您的command文件中定义的app.yaml启动应用程序,或者默认运行python app.py。
部署后行为
部署完成后,Azure Databricks 会在托管环境中启动应用。 应用详细信息页显示当前状态,并提供对日志、部署历史记录和环境信息的访问权限。
若要查看已部署应用的输出,请单击应用链接。
转到“ 日志 ”选项卡进行调试和运行时监视。 请参阅 Databricks 应用的日志记录和监视。
更新或重新部署应用
如果对源代码进行了更改、更新 app.yaml 了文件或需要从其他源代码路径进行部署,则可能需要更新或重新部署应用。 重新部署会应用最新的更新,而无需从头开始重新创建应用。
若要更改已部署的应用,请执行以下作:
- 更新应用代码或
app.yaml配置。 - 返回到 Azure Databricks 工作区中的 “应用” 页。
- 选择应用,然后再次选择 “部署 ”。 如果源代码路径已更改,请单击 “部署 ”旁边的箭头,并选择 “使用不同的源代码路径进行部署”。
排查部署问题
如果应用无法部署或未按预期运行,请尝试以下故障排除步骤:
- 检查日志 - 在日志面板中查看错误消息或运行时输出。
-
驗證
app.yaml- 确保语法正确且支持设置已使用。 -
验证机密和环境变量 - 请确保
env部分的所有引用都正确解析。 - 确认依赖项 - 确保包含或安装所有必需的包。
后续步骤
- Databricks 应用的日志记录和监视
- 为 Databricks 应用配置权限
配置 Databricks 应用执行与