数据库命令行设置和文档

Databricks命令行界面(CLI)为Databricks平台提供了一个简单易用的界面。bob体育客户端下载开源项目bob下载地址托管在GitHub.CLI构建在数据库REST API并根据主要端点组织成命令组。

你可以使用Databricks CLI做以下事情:

  • 在Databricks工作空间中发放计算资源。

  • 运行数据处理和数据分析任务。

  • 列出、导入和导出工作区中的笔记本和文件夹。

实验

此CLI正在积极开发中,并作为实验客户端。这意味着接口仍然会发生变化。

设置CLI

本节列出CLI要求,并介绍如何安装和配置环境以运行CLI。

需求

  • Python 3- 3.6及以上

  • Python 2- 2.7.9及以上

    重要的

    在macOS上,默认的Python 2安装不实现TLSv1_2协议,并且在此Python安装下运行CLI会导致错误:AttributeError:“模块”对象没有属性“PROTOCOL_TLSv1_2”.使用家酿来安装一个Python版本ssl。PROTOCOL_TLSv1_2

安装CLI

运行皮普安装databricks-cli的适当版本皮普用于Python安装:

PIP安装databicks -cli

更新命令行

运行皮普安装databricks-cli——升级的适当版本皮普用于Python安装:

PIP install databicks -cli——upgrade

执行命令,查询当前安装的命令行版本——版本(或- v):

砖,版本#还是……砖- v

设置身份验证

请注意

作为安全最佳实践,当使用自动化工具、系统、脚本和应用程序进行身份验证时,Databricks建议您使用属于的访问令牌服务主体而不是工作区用户。要为服务主体创建访问令牌,请参见管理服务主体的访问令牌

在执行CLI命令之前,必须先设置鉴权。如果需要向CLI进行身份验证,可以使用数据库个人访问令牌.同时支持Databricks用户名和密码,但不建议使用。

使用实例配置命令行使用个人访问令牌。

数据库配置——token

该命令以发出提示符开始:

Databricks主机(应以https://):开头

输入您的工作区URL,格式如下https:// <实例名称> .cloud.www.neidfyre.com.要获取您的工作区URL,请参见工作区实例名、url和id

该命令继续发出提示,输入您的个人访问令牌:

令牌:

完成提示后,您的访问凭证将存储在该文件中~ / .databrickscfg在Unix、Linux或macOS上运行% USERPROFILE % \ .databrickscfg在Windows上。该文件包含一个默认的配置文件条目:

(默认)host = <工作空间- url >Token = 

对于0.8.1及以上版本的CLI,可以通过设置环境变量来改变该文件的路径DATABRICKS_CONFIG_FILE

出口DATABRICKS_CONFIG_FILE< path-to-file >
对于setx DATABRICKS_CONFIG_FILE“< path-to-file >”/ M

虽然不建议使用Databricks用户名和密码,但可以使用Databricks个人访问令牌进行身份验证。运行配置按照提示操作。的.databrickscfg文件包含一个默认的配置文件条目:

(默认)host = <工作空间- url >用户名= <用户名>Password = < Password >

重要的

从CLI 0.17.2开始,CLI不能使用. netrc文件.你可以有一个. netrc文件在您的环境中用于其他目的,但CLI不会使用它. netrc文件。

CLI 0.8.0及以上版本支持以下Databricks环境变量

  • DATABRICKS_HOST

  • DATABRICKS_USERNAME

  • DATABRICKS_PASSWORD

  • DATABRICKS_TOKEN

环境变量的设置优先于配置文件中的设置。

测试身份验证设置

要检查是否正确设置了身份验证,可以运行如下命令,替换为< someone@example.com >使用您的Databricks工作区用户名:

databricks workspace ls /Users/ . txt

如果成功,执行此命令列出指定工作区路径中的对象

连接配置文件

Databricks命令行配置支持多个连接配置文件。相同的Databricks CLI安装可以用于对多个Databricks工作空间进行API调用。

若要添加连接配置文件,请为该配置文件指定唯一名称:

数据库配置——token——profile 

.databrickscfg文件包含相应的配置文件条目:

(<配置文件名称>)host = <工作空间- url >Token = < Token >

要使用连接配置文件:

Databricks  ——profile  . txt

如果——简介<配置文件名称>未指定,则使用默认配置文件。如果没有找到默认配置文件,系统会提示使用默认配置文件配置CLI。

测试连接配置文件

要检查是否正确设置了连接配置文件,可以运行如下命令,替换< someone@example.com >使用Databricks工作区用户名和<默认>使用连接配置文件名称之一:

databricks workspace ls /Users/——profile  . txt

如果成功,执行此命令列出指定工作区路径中的对象在指定连接配置文件的工作空间中。为要测试的每个连接配置文件运行此命令。

别名命令组

例如,有时在每次CLI调用前加上命令组的名称可能不方便工作空间ls.为了方便使用CLI,可以将命令组别名为更短的命令。例如,缩短工作空间lsdwls在伯恩再次壳,你可以添加别名dw = "砖工作空间”到适当的bash概要文件。通常,该文件位于~ / . bash_profile

提示

数据库已经有别名了fsdbfsfsls而且dbfsls是等价的。

使用CLI

本节介绍如何获取CLI帮助、解析CLI输出以及调用每个命令组中的命令。

显示CLI命令组帮助

运行命令可以列出任何命令组的子命令<集团>——帮助(或<集团>- h).例如,通过运行命令列出DBFS CLI子命令fs- h

Databricks fs -h

显示CLI子命令帮助

通过运行列出子命令的帮助<集团><子命令>——帮助(或<集团><子命令>- h).例如,您可以通过运行命令列出DBFS复制文件子命令的帮助fscp- h

Databricks fs cp -h

使用金桥解析CLI输出

一些Databricks CLI命令输出来自API端点的JSON响应。有时,解析出JSON的部分内容以输送到其他命令中是很有用的。例如,要复制作业定义,必须使用设置字段工作得到命令,并使用它作为参数工作创建命令。在这些情况下,我们建议您使用该实用程序金桥

例如,下面的命令打印ID为233的作业的设置。

工作list——输出JSON|金桥'.job [] | select(.)Job_id == 233) | .settings'
“名称”:“快速入门”," new_cluster ": {:“spark_version 7.5.x-scala2.12”," spark_env_vars ": {:“PYSPARK_PYTHON /砖/ python3 / bin / python3”},“num_workers”:8...},“email_notifications”:{},“timeout_seconds”:0," notebook_task ": {:“notebook_path /快速入门”},“max_concurrent_runs”:1

作为另一个例子,下面的命令打印工作区中所有可用集群的名称和id:

数据库集群列表——输出JSON|金桥'[.clusters[] |{名称:.cluster_name, id: .cluster_id}]'
"name": "My Cluster 1",“id”:“1234 - 567890 grip123”},"name": "My Cluster 2",“id”:“2345 - 678901 patch234”

你可以安装金桥例如在macOS上使用Homebrew with酿造安装金桥或者在Windows上使用Chocolatey with乔科省安装金桥.欲知更多有关金桥,请参阅金桥手册

JSON字符串参数

字符串参数的处理方式因操作系统不同而不同:

必须将JSON字符串参数括在单引号中。例如:

工作现在,作业标识9——jar-params”(“20180505”、“alantest”)”

必须将JSON字符串参数括在双引号中,并且字符串内的引号字符必须在.例如:

工作现在,作业标识9——jar-params“(\“20180505 \”,\“alantest \]”

故障排除

下面介绍Databricks CLI常见问题的处理方法。

使用EOF配置不起作用

对于Databricks CLI 0.12.0及以上版本,使用文件(EOF)序列,以便将参数传递给配置命令不起作用。例如,下面的脚本会导致Databricks CLI忽略参数,并且不会抛出错误消息:

#不要这样做。databricksUrl< workspace-url >databricksToken databricks configure——token< < EOFdatabricksUrl美元databricksToken美元EOF

要解决此问题,请执行以下操作之一:

  • 使用中描述的其他编程配置选项之一设置身份验证

  • 手动添加宿主而且令牌的值.databrickscfg文件,详见设置身份验证

  • 将Databricks CLI的安装降级到0.11.0或以下,然后再次运行脚本。