Databricks Apps 系统环境

下面介绍了 Databricks 应用在其中运行的系统环境:

  • 操作系统: Ubuntu 22.04 LTS

  • Python 环境: Python 3.11,在专用虚拟环境中运行。 所有依赖项都在此环境中隔离,包括在其中 requirements.txt 定义的库和预安装的库。

  • Node.js 环境: Node.js 版本 22.16。 使用 npmpackage.json. 管理依赖项。

  • 系统资源: 默认情况下,每个应用最多可以使用 2 个虚拟 CPU(vCPU)和 6 GB 内存。 配置计算大小,以根据工作负荷要求调整 CPU 和内存分配。 请参阅 配置 Databricks 应用的计算大小

    重要

    应用计算容量设定处于 Beta 阶段。

查看环境详细信息

若要查看特定应用的环境(包括环境变量和已安装的包),请转到应用详细信息页上的环境选项卡。 请参阅查看 Databricks 应用的详细信息

默认环境变量

每个应用中都有以下环境变量:

变量 DESCRIPTION
DATABRICKS_APP_NAME 正在运行的应用的名称。
DATABRICKS_WORKSPACE_ID 应用所属的 Databricks 工作区的唯一 ID。
DATABRICKS_HOST 应用所属的 Databricks 工作区的 URL。
DATABRICKS_APP_PORT 应用应侦听的网络端口。
DATABRICKS_CLIENT_ID Databricks 服务主体分配给应用的客户端 ID。
DATABRICKS_CLIENT_SECRET 分配给应用的 Databricks 服务主体的 OAuth 密钥。

Streamlit 的默认环境变量

如果使用 Streamlit 框架,Databricks 应用环境会预配置多个特定于 Streamlit 的环境变量:

变量 DESCRIPTION
STREAMLIT_SERVER_ADDRESS Streamlit 使用的服务器地址。 此值设置为 0.0.0.0 且不能重写。
STREAMLIT_SERVER_PORT Streamlit 使用的端口。 此值设置为 DATABRICKS_APP_PORT 且不能重写。
STREAMLIT_SERVER_ENABLE_XSRF_PROTECTION 由于 Databricks 应用反向代理可防范跨网站请求伪造 (CSRF),因此将其设置为 false
STREAMLIT_SERVER_ENABLE_CORS 由于 Databricks 应用反向代理可防范跨源资源共享 (CORS),因此将其设置为 false
STREAMLIT_SERVER_HEADLESS 此值设置为 true,因此 Streamlit 在启动时不打开浏览器窗口即可运行。
STREAMLIT_BROWSER_GATHER_USAGE_STATS 此值设置为 false 以阻止将用户统计信息发送到 Streamlit。

预安装的 Python 库

Databricks Apps 环境中预安装了以下 Python 库。 除非需要其他版本,否则无需将它们包含在应用中。

图书馆 版本
databricks-sql-connector 3.4.0
Databricks软件开发工具包 (databricks-sdk) 0.33.0
mlflow-skinny 2.16.2
gradio 4.44.0
streamlit 1.38.0
shiny 1.1.0
破折号 2.18.1
flask 3.0.3
fastapi 0.115.0
uvicorn[standard] 0.30.6
gunicorn 23.0.0
huggingface-hub 0.35.3
dash-ag-grid 31.2.0
dash-mantine-components 0.14.4
dash-bootstrap-components 1.6.0
plotly 5.24.1
plotly-resampler 0.10.0

Databricks Apps 环境中未预安装 Node.js 库。 对于 Node.js 应用,必须显式列出文件中的所有依赖项 package.json ,以确保它们在运行时安装。