在 Azure Databricks Web 终端中运行 Shell 命令
Azure Databricks Web 终端提供了一种方便且高度交互的方式来在命令行接口 (CLI)(包括 Databricks CLI 命令)中运行 shell 命令,从而以编程方式对 Databricks 对象执行操作。 对于高级用例特别有用,例如对多个文件进行批处理操作,现有用户界面 (UI) 可能不完全支持这些用例。
多个用户可以在一台计算机上使用 Web 终端。
可以使用 Web 终端执行以下操作:
- 使用 Vim 或 Emacs 快速编辑文件。
- 使用
htop
(群集使用情况)或nvidia-smi
(GPU 使用情况)等命令监视资源使用状况。 - 运行非 Spark Python 脚本。
- 使用 shell 命令(如
mv
和mkdir
)执行文件操作。 - 在计算上安装和管理库。
- 使用 Databricks CLI 自动执行 Azure Databricks 的各个方面。
警告
Azure Databricks 代理计算的 Spark 驱动程序上端口 7681 中的 Web 终端服务。 此 Web 代理仅用于 Web 终端。 如果计算启动时端口被占用或者存在某种冲突,Web 终端可能无法按预期工作。 如果在端口 7681 上启动了其他 Web 服务,则计算用户可能会面临潜在的安全攻击。 Databricks 和 Azure 均不负责因在计算机上安装不受支持的软件而导致的任何问题。
- 默认情况下,针对所有工作区用户禁用 Web 终端。 要启用它,请参阅启用 Web 终端。
- 计算上的可附加到权限。
- 计算必须使用单用户或无隔离共享的访问模式。 对于 Databricks Runtime 15.1 及更高版本,也支持设置为“共享”的访问模式。
可以从计算详细信息页或笔记本中启动 Web 终端。
要从笔记本启动 Web 终端:
- 将笔记本连接到计算。
- 在笔记本右侧边栏的底部,单击“打开底部面板”图标
。
- 或者,点击“附加的计算”下拉列表,将鼠标指针悬停在附加的计算上,然后点击“Web 终端”。
Web 终端在屏幕底部的面板中打开。 面板右上角的按钮允许:
- 在新选项卡中打开新的终端会话
。
- 重新加载终端会话
。
- 关闭底部面板
。 要重新打开面板,请单击右侧栏底部的
。
要从计算详细信息页启动 Web 终端:
- 在工作区的边栏上,单击“计算”。
- 在“通用计算”选项卡上,点击计算名称。
- 点击“开始”以启动计算。
- 在“应用”选项卡上,点击“Web 终端”。
此时会打开一个新选项卡,其中包含 Web 终端 UI 和 Bash 提示符。
在 Web 终端中,可以从计算驱动程序节点容器内的根目录运行命令。
每个用户最多可以打开 100 个活动 Web 终端会话(选项卡)。 空闲的 Web 终端会话可能会超时,Web 终端 Web 应用程序将重新连接,从而生成新的 shell 进程。 如果要保留 Bash 会话,Databricks 建议使用 tmux。
还可以使用 Web 终端运行 Databricks CLI 命令。 可用的 CLI 始终为最新版本,身份验证基于当前用户。 计算必须满足以下要求:
- 群集必须安装了 Databricks Runtime 15.0 或更高版本。
- 不得为专用链接启用工作区。
启动 Web 终端并运行以下命令以输出有关当前用户的信息:
databricks current-user me
捆绑包命令也可用,可允许直接从 Databricks 工作区的 Web 终端创建和管理Databricks 资产捆绑包。 例如,要使用默认模板创建、部署和运行简单捆绑包:
从 Web 终端根目录导航到工作区主页并运行
bundle init
:cd /Workspace/Users/someone@example.com databricks bundle init
接受默认模板提示,然后更改为捆绑包目录并部署它:
cd my_project databricks bundle deploy
可以在 Databricks 工作区 UI 中查看部署的
my_project
捆绑包。最后,在捆绑包中运行默认作业:
databricks bundle run my_project_job
导航到“作业运行”以查看正在运行的作业。
可以使用 .bashrc 配置文件为 Web 终端设置持久性配置。
Databricks 会自动从工作区文件系统的主文件夹源化名为 .bashrc 的文件。 每次启动新的终端会话时,都会自动激活这些文件中的设置。
如果要源化任何其他文件(如 .zshrc)以提高 Web 终端体验,请从 .bashrc 文件源化这些文件以持久地保留配置。
保存工作区文件夹中的所有配置文件,可在其中使用文本编辑器对配置文件进行配置。
Azure Databricks 不支持从 Web 终端运行 Spark 作业。
Azure Databricks Web 终端在以下计算类型中不可用:
- 作业计算
- 启动计算时,环境变量设置为
DISABLE_WEB_TERMINAL=true
。 - 在 15.1 以下版本的 Databricks Runtime 上已启动且访问模式设置为共享的计算。 Web 终端适用于 Databricks Runtime 15.1 及更高版本的共享计算。
- 启动计算时,Spark 配置
spark.databricks.pyspark.enableProcessIsolation
设置为true
。
从加载初始页面起,有 12 小时的硬性限制,在此之后,任何连接(即使是活动连接)都将被终止。 可以刷新 Web 终端以重新连接。 Databricks 建议使用 tmux 来保留 shell 会话。
ARM 计算资源无法使用 Web 终端访问工作区文件,包括 Git 文件夹中的文件。
启用 Docker 容器服务将禁用 Web 终端。