Databricks SQL命令行
请注意
本文介绍了Databricks SQL CLI,它是按原样提供的,Databricks通过客户技术支持渠道不支持它。问题和特性请求可以通过问题网页砖/ databricks-sql-cli在GitHub上回购。
Databricks SQL命令行接口(Databricks SQL命令行)允许您在现有的Databricks SQL上运行SQL查询仓库从您的终端或Windows命令提示符,而不是从Databricks SQL编辑器或Databricks笔记本等位置。从命令行,您可以获得生产力特性,如建议和语法高亮显示。
需求
你的仓库连接细节.具体来说,您需要服务器主机名而且HTTP路径值。
Databricks个人访问令牌。创建一个个人访问令牌,如果你还没有的话。
Python3.7或更高。使用该命令检查是否安装了Python
python——版本
从您的终端或命令提示符。(在某些系统上,您可能需要输入python3
相反)。安装Python,如果您还没有安装。皮普, Python的包安装程序。安装较新的Python版本
皮普
默认情况下。检查你是否有皮普
安装完成后,执行该命令皮普——版本
从您的终端或命令提示符。(在某些系统上,您可能需要输入pip3
相反)。pip安装,如果您还没有安装。(可选)用于创建和管理Python的实用程序虚拟环境,例如venv,virtualenv,或pipenv.虚拟环境有助于确保您同时使用正确版本的Python和Databricks SQL CLI。设置和使用虚拟环境超出了本文的范围。有关更多信息,请参见创建虚拟环境.
安装Databricks SQL命令行
在你见到需求,安装Databricks SQL命令行包从Python打包索引(PyPI)。你可以使用皮普
从PyPI安装Databricks SQL命令行包皮普安装databricks-sql-cli
或python- m皮普安装databricks-sql-cli
.
PIP install databicks -sql-cli#还是……Python -m PIP install databicks -sql-cli
身份验证
您必须向Databricks SQL CLI提供Databricks SQL仓库的身份验证详细信息,以便使用适当的访问凭证调用目标仓库。您可以通过以下几种方式提供此信息:
在
dbsqlclirc
设置文件在其默认位置(或通过——clirc
选项)。看到设置文件.通过设置
DBSQLCLI_HOST_NAME
,DBSQLCLI_HTTP_PATH
而且DBSQLCLI_ACCESS_TOKEN
环境变量。看到环境变量.通过指定
——主机名
,——http-path
,——访问令牌
在Databricks SQL命令行中执行命令时,可选择。看到命令选项.
请注意
的dbsqlclirc
设置文件必须存在,即使您设置了前面的环境变量或指定了前面的命令选项或两者都有。
无论何时运行Databricks SQL CLI,它都会按照以下顺序查找身份验证详细信息,在找到第一组详细信息时停止:
的
——主机名
,——http-path
,——访问令牌
选项。的
DBSQLCLI_HOST_NAME
,DBSQLCLI_HTTP_PATH
而且DBSQLCLI_ACCESS_TOKEN
环境变量。的
dbsqlclirc
属性指定的备用设置文件——clirc
选项)。
设置文件
使用dbsqlclirc
为Databricks SQL CLI提供数据库仓库的身份验证详细信息,第一次运行Databricks SQL CLI,如下所示:
dbsqlcli
Databricks SQL CLI为您创建一个设置文件,在~ / .dbsqlcli / dbsqlclirc
在Unix、Linux和macOS上,在% HOMEDRIVE % % HOMEPATH % \ .dbsqlcli \ dbsqlclirc
或% USERPROFILE % \ .dbsqlcli \ dbsqlclirc
在Windows上。要自定义此文件:
使用文本编辑器打开和编辑
dbsqlclirc
文件。滚动到以下部分:
#[凭证]# host_name = "" # http_path = "" # access_token = ""
移除四个
#
字符,:旁边
host_name
,进入你的仓库服务器主机名值来自于需求之间""
字符。旁边
http_path
,进入你的仓库HTTP路径值来自于需求之间""
字符。旁边
access_token
,输入您的个人访问令牌值之间的要求""
字符。
例如:
[credentials] host_name = "dbc-a1b2345c-d6e78.cloud.www.neidfyre.com" http_path = "/sql/1.0/ warehousing /1abc2d3456e7f890a" access_token = "dapi1234567890b2cd34ef5a67bc8de90fa12b"
保存
dbsqlclirc
文件。
或者,不使用dbsqlclirc
文件的默认位置,则可以在不同的位置指定文件——clirc
命令选项和备用文件的路径。该备用文件的内容必须符合前面的语法。
环境变量
使用DBSQLCLI_HOST_NAME
,DBSQLCLI_HTTP_PATH
,DBSQLCLI_ACCESS_TOKEN
为Databricks SQL仓库提供验证详细信息的Databricks SQL CLI,请执行以下操作:
使用实例仅为当前终端会话设置环境变量。要为所有终端会话设置环境变量,请在shell的启动文件中输入以下命令,然后重新启动终端。在以下命令中,替换的值:
DBSQLCLI_HOST_NAME
你的仓库服务器主机名价值来自需求。DBSQLCLI_HTTP_PATH
你的仓库HTTP路径价值来自需求。DBSQLCLI_ACCESS_TOKEN
与您的个人访问令牌的价值要求。
出口DBSQLCLI_HOST_NAME=“dbc-a1b2345c-d6e78.cloud.www.neidfyre.com”出口DBSQLCLI_HTTP_PATH=“/ sql / 1.0 /仓库/ 1 abc2d3456e7f890a”出口DBSQLCLI_ACCESS_TOKEN=“dapi1234567890b2cd34ef5a67bc8de90fa12b”
执行以下命令,替换“”的值,仅设置当前“命令提示符”会话的环境变量。
DBSQLCLI_HOST_NAME
你的仓库服务器主机名价值来自需求。DBSQLCLI_HTTP_PATH
你的仓库HTTP路径价值来自需求。DBSQLCLI_ACCESS_TOKEN
与您的个人访问令牌价值从要求。:
集DBSQLCLI_HOST_NAME=“dbc-a1b2345c-d6e78.cloud.www.neidfyre.com”集DBSQLCLI_HTTP_PATH=“/ sql / 1.0 /仓库/ 1 abc2d3456e7f890a”集DBSQLCLI_ACCESS_TOKEN=“dapi1234567890b2cd34ef5a67bc8de90fa12b”
执行以下命令,为所有命令提示符会话设置环境变量,然后重新启动命令提示符,替换“”的值:
DBSQLCLI_HOST_NAME
你的仓库服务器主机名价值来自需求。DBSQLCLI_HTTP_PATH
你的仓库HTTP路径价值来自需求。DBSQLCLI_ACCESS_TOKEN
与您的个人访问令牌的价值要求。
对于setx DBSQLCLI_HOST_NAME“dbc-a1b2345c-d6e78.cloud.www.neidfyre.com”对于setx DBSQLCLI_HTTP_PATH“/ sql / 1.0 /仓库/ 1 abc2d3456e7f890a”对于setx DBSQLCLI_ACCESS_TOKEN“dapi1234567890b2cd34ef5a67bc8de90fa12b”
命令选项
使用——主机名
,——http-path
,——访问令牌
选项,为Databricks SQL仓库提供验证详细信息的Databricks SQL CLI,请执行以下操作:
每次使用Databricks SQL命令行执行命令时:
指定
——主机名
选择权和你仓库的服务器主机名价值来自需求。指定
——http-path
选择权和你仓库的HTTP路径价值来自需求。指定
——访问令牌
选项和您的个人访问令牌值的要求。
例如:
dbsqlcli - e“SELECT * FROM default.”钻石限量2"\——主机名“dbc-a1b2345c-d6e78.cloud.www.neidfyre.com”\——http-path“/ sql / 1.0 /仓库/ 1 abc2d3456e7f890a”\——访问令牌“dapi1234567890b2cd34ef5a67bc8de90fa12b”
查询资料
Databricks SQL命令行支持以下几种查询方式:
查询字符串
要以字符串形式运行查询,请使用- e
选项,后跟查询,表示为字符串。例如:
dbsqlcli - e“SELECT * FROM default.”钻石限量2"
输出:
_c0,克拉、切割、颜色、清晰、深度、表,价格,x, y, z1, 0.23,理想,E, SI2, 61.5, 55326, 3.95, 3.98, 2.432, 0.21,溢价,E, SI1, 59.8, 61326, 3.89, 3.84, 2.31
若要切换输出格式,请使用——表格格式
选项以及值,例如美国信息交换标准代码
用于ASCII表格式,例如:
dbsqlcli - e“SELECT * FROM default.”钻石限量2"——表格格式ascii
输出:
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+|_c0|克拉|减少|颜色|清晰|深度|表格|价格|x|y|z|+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+|1|023)|理想的|E|SI2|61.5|55|326|3..95|3..98点|2点||2|0. 21|溢价|E|SI1|59.8|61|326|3..89|3.点|2。31|+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
类的注释可获得可用输出格式值的列表table_format
在dbsqlclirc
文件。
文件
要运行包含SQL的文件,请使用- e
选项后面跟着的路径. sql
文件。例如:
Dbsqlcli -e my-query.sql
示例的内容my-query.sql
文件:
选择*从默认的.钻石限制2;
输出:
_c0,克拉、切割、颜色、清晰、深度、表,价格,x, y, z1, 0.23,理想,E, SI2, 61.5, 55326, 3.95, 3.98, 2.432, 0.21,溢价,E, SI1, 59.8, 61326, 3.89, 3.84, 2.31
若要切换输出格式,请使用——表格格式
选项以及值,例如美国信息交换标准代码
用于ASCII表格式,例如:
Dbsqlcli -e my-query.sql——表格格式ascii
输出:
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+|_c0|克拉|减少|颜色|清晰|深度|表格|价格|x|y|z|+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+|1|023)|理想的|E|SI2|61.5|55|326|3..95|3..98点|2点||2|0. 21|溢价|E|SI1|59.8|61|326|3..89|3.点|2。31|+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
类的注释可获得可用输出格式值的列表table_format
在dbsqlclirc
文件。
REPL
使用实例进入默认数据库范围内的REPL模式。
dbsqlcli
您还可以通过运行以下命令进入特定数据库范围的REPL模式:
dbsqlcli <数据库名称>
例如:
dbsqlcli违约
退出REPL模式。
退出
在REPL模式下,可以使用以下字符和键:
使用分号(
;
)来结束一行。使用F3切换多行模式。
如果还没有显示建议,则使用空格键在插入点显示建议。
使用向上和向下箭头浏览建议。
使用右箭头完成突出显示的建议。
例如:
dbsqlcli默认主机名:default> SELECT * FROM diamonds LIMIT2;+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+|_c0|克拉|减少|颜色|清晰|深度|表格|价格|x|y|z|+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+|1|023)|理想的|E|SI2|61.5|55|326|3..95|3..98点|2点||2|0. 21|溢价|E|SI1|59.8|61|326|3..89|3.点|2。31|+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+2行在集时间:0.703s主机名:默认>退出