创建秘密范围时如何修复 Databricks 中的 'command not found' 错误

How to fix 'command not found' error in Databricks when creating a secret scope

我正在尝试在 Databricks 笔记本中创建一个秘密范围。该笔记本 运行正在使用我公司管理员创建的集群 - 我无权创建或编辑集群。我正在按照 Databricks 用户笔记本 (https://docs.databricks.com/user-guide/secrets/example-secret-workflow.html#example-secret-workflow) 中的说明进行操作,但出现错误:

/bin/bash: databricks: command not found

下面是我试过 returns 错误的代码:

%sh -e
databricks secrets create-scope --scope scopename

sh% 用于 运行 笔记本中的命令行语言。我试过使用

%sh

还有

%sh -e

运气不好。

我应该可以使用这段代码创建一个秘密范围,但没有成功。关于这个原因的任何建议?其他人有同样的问题吗?

我以前从未听说过 运行从集群中使用 CLI。即使安装了它,我也怀疑它是否已配置。 您可以从本地计算机下载 CLI 和 运行:https://docs.databricks.com/user-guide/dev-tools/databricks-cli.html

您需要 运行在本地 Python。如果您愿意,还有一个 PowerShell 命令行(我制作的免责声明):https://github.com/DataThirstLtd/azure.databricks.cicd.tools

Databricks 集群默认没有安装 databricks-cli。这并不意味着您不能将它安装在集群上。您可以在任何 databricks notebook 中使用以下命令安装 databricks-cli:

%sh
/databricks/python/bin/pip install databricks-cli==0.9.1

登录可能会出现问题,因为您无法在笔记本中使用 shell 脚本发送回复。您可以使用以下命令集在集群根目录中创建 .databrickscfg 文件:

%sh
> ~/.databrickscfg
echo "[DEFAULT]" >> ~/.databrickscfg
echo "host = <your host>" >> ~/.databrickscfg
echo "token = <your token>" >> ~/.databrickscfg

您可以将这些命令保存为 shell 脚本,这些脚本可以在集群启动时 运行 自动执行 (init scripts)。

我在笔记本上遇到了同样的问题。

如果您必须在您的数据块实例上运行任何databricks cli 命令,最简单的方法应该是使用Web 终端. 您可以从 compute->Clusters->Apps->Launch Web Terminal

启动 Web 终端
  • 如果没有安装,可以使用pip install databricks-cli

  • 通过命令 databricks configuredatabricks 配置用户 配置 --token

现在你可以使用 运行 databricks cli 命令了 这是 databricks 网络终端上的示例 运行,它对我有用: