标签: databricks-cli

如何在不手动配置的情况下使用databricks-cli

我想使用 databricks cli:

databricks clusters list
Run Code Online (Sandbox Code Playgroud)

但这需要一个手动步骤,需要与用户进行交互工作:

databricks configure --token
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以在无需手动干预的情况下使用 databricks cli,以便可以将其作为 ci/cd 管道的一部分运行?

bash azure databricks databricks-cli

9
推荐指数
3
解决办法
9068
查看次数

Databricks CLI:SSLError,找不到本地颁发者证书

我已经安装并配置了 Databricks CLI,但是当我尝试使用它时,我收到一条错误,表明它找不到本地颁发者证书:

$ dbfs ls dbfs:/databricks/cluster_init/
Error: SSLError: HTTPSConnectionPool(host='dbc-12345678-1234.cloud.databricks.com', port=443): Max retries exceeded with url: /api/2.0/dbfs/list?path=dbfs%3A%2Fda
tabricks%2Fcluster_init%2F (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer
 certificate (_ssl.c:1123)')))
Run Code Online (Sandbox Code Playgroud)

上述错误是否表明我需要安装证书,或者以某种方式配置我的环境,以便它知道如何找到正确的证书?

我的环境是带有 WSL 的 Windows 10 (Ubuntu 20.04)(上面的命令来自 WSL/Ubuntu 命令行)。

Databricks CLI 已安装到 Anaconda 环境中,包括以下证书和 SSL 包:

$ conda list | grep cert
ca-certificates           2020.6.20            hecda079_0    conda-forge
certifi                   2020.6.20        py38h32f6830_0    conda-forge
$ conda list | grep ssl
openssl                   1.1.1g               h516909a_1    conda-forge
pyopenssl                 19.1.0                     py_1    conda-forge
Run Code Online (Sandbox Code Playgroud)

当我尝试使用 REST …

python ssl databricks databricks-cli

8
推荐指数
1
解决办法
1万
查看次数

使用 AAD 令牌在 Databricks 中创建 Azure Key Vault 支持的秘密范围

我的最终目标是将 ADLS gen2 容器安装到我的 Databricks 工作区中,作为在 Azure 服务主体的支持下由 Terraform 管理的部署的一部分。这是一个单一部署,它创建所有 Azure 资源(网络、防火墙、存储帐户、Databricks 工作区等),然后使用 Databricks Terraform 提供程序配置 Databricks 工作区。

这个答案说我无法使用服务主体进行 AAD 直通安装,这意味着我必须使用 OAuth2 身份验证。为此,我需要 Databricks 中的 Azure Key Vault 支持的秘密范围。Terraform 文档说我只能通过基于用户的身份验证来做到这一点,而不能通过我的服务主体来做到这一点。

所以我想也许我可以实现一个 hack:在 Terraform 中创建一个 Databricks PAT(同样,始终作为服务主体),然后使用 Terraform 资源external“外壳”到 Databricks CLI,使用此 PAT 进行身份验证。我手动尝试了此操作并收到此错误:

{
  "error_code": "INVALID_PARAMETER_VALUE",
  "message": "Scope with Azure KeyVault must have userAADToken defined!"
}
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为 PAT 是为服务主体创建的。但是,作为替代方案,此答案建议使用 Azure AD 令牌身份验证,而不是 PAT。所以,我就从那个兔子洞里走下去!

我可以按照Microsoft 的文档获取 Azure AD 令牌,然后使用它对 Databricks CLI 进行身份验证:

export ARM_TENANT_ID="..." …
Run Code Online (Sandbox Code Playgroud)

azure azure-active-directory azure-keyvault azure-databricks databricks-cli

8
推荐指数
1
解决办法
4698
查看次数

Databricks CLI 配置错误“请使用 dbfs 配置重新配置”

我已经安装并配置了 Databricks CLI,但在运行时出现以下错误

databricks workspace ls
Run Code Online (Sandbox Code Playgroud)

返回错误:

错误:您的身份验证信息可能不正确。请使用 dbfs configure 重新配置

安装 CLI 的步骤

1) 使用安装pip install databricks-cli
2) 使用 CLI 配置databricks configure --token。我的~/.databrickscfg文件如下所示:

[DEFAULT]
host = https://<account>.cloud.databricks.com
token = <password_generated_from_access_token
Run Code Online (Sandbox Code Playgroud)

有没有人遇到过这个错误并有解决方案?

python databricks databricks-cli

7
推荐指数
1
解决办法
9812
查看次数

“databricks configure --token”挂起等待输入

我在 Azure DevOps 中运行以下任务,它总是挂起等待输入?为什么我的 bash 自动供给不工作?

databricksUrl=https://...
databricksToken=*****

databricks configure --token << EOF
$(databricksUrl)
$(databricksToken)
EOF
Run Code Online (Sandbox Code Playgroud)

azure-devops databricks azure-databricks databricks-cli

7
推荐指数
2
解决办法
7072
查看次数

如何使用参数创建数据块作业

我正在使用 databricks-cli 在 databricks 中创建一个新作业:

databricks jobs create --json-file ./deploy/databricks/config/job.config.json
Run Code Online (Sandbox Code Playgroud)

使用以下 json:

{
    "name": "Job Name",
    "new_cluster": {
        "spark_version": "4.1.x-scala2.11",
        "node_type_id": "Standard_D3_v2",
        "num_workers": 3,
        "spark_env_vars": {
            "PYSPARK_PYTHON": "/databricks/python3/bin/python3"
        }
    },
    "libraries": [
        {
            "maven": {
                "coordinates": "com.microsoft.sqlserver:mssql-jdbc:6.5.3.jre8-preview"
            }
        }
    ],
    "timeout_seconds": 3600,
    "max_retries": 3,
    "schedule": {
        "quartz_cron_expression": "0 0 22 ? * *",
        "timezone_id": "Israel"
    },
    "notebook_task": {
        "notebook_path": "/notebooks/python_notebook"
    }
}
Run Code Online (Sandbox Code Playgroud)

我想添加可通过以下方式在笔记本中访问的参数:

dbutils.widgets.text("argument1", "<default value>")
dbutils.widgets.get("argument1")
Run Code Online (Sandbox Code Playgroud)

python pyspark databricks azure-databricks databricks-cli

2
推荐指数
1
解决办法
3722
查看次数

未在 Ubuntu 18.04 上安装 Databricks CLI

我已经在 Ubuntu 16.04 和 Mac 上成功安装了 databricks cli。当我尝试在 Ubuntu 18.04(Azure VM)上安装它时,它看起来运行得很好,然后当我尝试调用 cli 工具时它没有安装。我在 Ubuntu 16.04 和 OSX 上运行良好。关于让这个工作的任何想法?输出复制如下

vstsTestLogin@PensDataScienceVSTS:~$ pip install databricks-cli
Collecting databricks-cli
Using cached 

https://files.pythonhosted.org/packages/de/8f/b0b5222c910eafb4dd6cc6de04d7821e6caefb5a9d927bc68c39206e422f/databricks_cli-0.8.2-py2-none-any.whl
Collecting tabulate>=0.7.7 (from databricks-cli)
Collecting configparser>=0.3.5 (from databricks-cli)
Collecting click>=6.7 (from databricks-cli)
  Using cached https://files.pythonhosted.org/packages/34/c1/8806f99713ddb993c5366c362b2f908f18269f8d792aff1abfd700775a77/click-6.7-py2.py3-none-any.whl
Collecting six>=1.10.0 (from databricks-cli)
  Using cached https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
Collecting requests>=2.17.3 (from databricks-cli)
  Using cached https://files.pythonhosted.org/packages/65/47/7e02164a2a3db50ed6d8a6ab1d6d60b69c4c3fdf57a284257925dfc12bda/requests-2.19.1-py2.py3-none-any.whl
Collecting idna<2.8,>=2.5 (from requests>=2.17.3->databricks-cli)
  Using cached https://files.pythonhosted.org/packages/4b/2a/0276479a4b3caeb8a8c1af2f8e4355746a97fab05a372e4a2c6a6b876165/idna-2.7-py2.py3-none-any.whl
Collecting certifi>=2017.4.17 (from requests>=2.17.3->databricks-cli)
  Using cached https://files.pythonhosted.org/packages/df/f7/04fee6ac349e915b82171f8e23cee63644d83663b34c539f7a09aed18f9e/certifi-2018.8.24-py2.py3-none-any.whl
Collecting chardet<3.1.0,>=3.0.2 (from requests>=2.17.3->databricks-cli)
  Using cached https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl
Collecting urllib3<1.24,>=1.21.1 (from …
Run Code Online (Sandbox Code Playgroud)

python ubuntu databricks azure-databricks databricks-cli

1
推荐指数
1
解决办法
1258
查看次数