砖CLI

Databricks命令行界面(也称为CLI)是一个实用程序,它提供了一个易于使用的界面,可以从终端、命令提示符或自动化脚本自动化Databricks平台。bob体育客户端下载

请注意

谷歌Cloud的Databricks无法使用CLI。

实验

命令行是实验状态。Databricks没有计划为命令行。

通过Databricks Support通道不支持CLI。要提供反馈、提出问题和报告问题,请使用问题选项卡中的命令行接口的数据库库在GitHub。

需求

  • Python 3 - 3.6及以上版本

  • Python 2 - 2.7.9及以上版本

重要的

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

设置CLI

本节介绍如何设置CLI。

安装或更新命令行

本节描述如何安装或更新开发计算机以运行CLI。

安装CLI

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

PIP安装databrickics -cli

更新命令行

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

PIP安装databrick -cli——upgrade

的版本执行当前安装的命令行——版本

砖,版本

设置身份验证

在你奔跑之前执行CLI命令时,必须在命令行和命令行之间建立认证CLI和Databricks。本节介绍如何为CLI。

要使用命令行中,可以使用Databricks个人访问令牌.也支持使用Databricks用户名和密码,但不推荐使用。

请注意

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

使用Databricks个人访问令牌设置身份验证

要配置命令行中使用个人访问令牌,执行如下命令:

Databricks配置——token

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

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

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

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

令牌:

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

(默认)host = Token = <个人访问Token >

如果.databrickscfg文件已经存在,这个文件是默认的配置文件被新数据覆盖。若要使用不同的名称创建配置概要文件,请参见连接配置文件

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

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

重要的

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

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

测试身份验证设置

为了检查是否正确设置了身份验证,可以执行如下命令:

Databricks fs fs:/

如果成功,则执行此命令列出工作空间的DBFS根目录中的文件和目录这与你的默认的概要文件。

连接配置文件

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

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

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

(<配置文件名称>)host = Token = < Token >

要使用连接配置文件:

Databricks  ——profile 

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

测试您的连接配置文件

要检查是否正确设置了任何连接配置文件,您可以使用其中一个连接配置文件名称运行如下命令:

Databricks fs ls dbfs:/——profile 

如果成功,则执行此命令列出工作空间的DBFS根目录中的文件和目录用于指定的连接配置文件。对要测试的每个连接配置文件运行此命令。

要查看可用的配置文件,请参阅.databrickscfg文件。

使用CLI

本节向您展示如何获得CLI帮助、解析命令行输出,并调用每个命令组中的命令。

显示CLI命令组帮助

列表列出任何命令组的子命令——帮助- h选择。例如,要列出DBFS CLI的子命令:

数据块fs -h

显示CLI子命令帮助

控件列出子命令的帮助——帮助- h选择。例如,要列出DBFS复制文件子命令的帮助:

Databricks fs cp -h

别名命令组

有时给每个前缀加上前缀不方便例如,使用命令组的名称调用CLI工作空间lsCLI。为了使CLI更易于使用,可以将命令组别名为更短的命令。例如,缩短工作空间lsdwls在《谍影重重》中,你可以加上别名dw = "砖工作空间”到适当的bash配置文件。通常,该文件位于~ / . bash_profile

提示

CLI已经有别名了fsdbfsfslsdbfsls是等价的。

使用金桥解析CLI输出

一些CLI命令从API端点输出JSON响应。有时,解析JSON的某些部分以管道传输到其他命令中是很有用的。例如,要复制工作定义,您必须使用设置获取作业命令的字段,并将其用作创建作业命令的参数。在这些情况下,我们建议您使用该实用程序金桥

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

工作list——输出JSON|金桥'.Jobs [] | 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:

databricks集群列表——输出JSON|金桥'[.clusters[] | {name: .cluster_name, id: .cluster_id}]'

输出:

"name": "My Cluster 1",“id”:“1234 - 567890 grip123”},"name": "My Cluster 2",“id”:“2345 - 678901 patch234”}

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

JSON字符串参数

根据您的操作系统,字符串参数的处理方式不同:

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

”(“20180505”、“alantest”)”

必须将JSON字符串参数用双引号括起来,并且字符串中的引号字符必须在前面加上.例如:

“(\“20180505 \”,\“alantest \]”

故障排除

的常见问题的故障排除提示CLI。

使用EOF配置不起作用

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

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

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

  • 手动添加宿主令牌.databrickscfg文件,如设置身份验证

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