Databricks SQL命令行

请注意

本文介绍了Databricks SQL CLI,它是按原样提供的,Databricks通过客户技术支持渠道不支持它。问题和特性请求可以通过问题网页砖/ databricks-sql-cli在GitHub上回购。

Databricks SQL命令行接口(Databricks SQL命令行)允许您在现有的Databricks SQL上运行SQL查询仓库从您的终端或Windows命令提示符,而不是从Databricks SQL编辑器或Databricks笔记本等位置。从命令行,您可以获得生产力特性,如建议和语法高亮显示。

需求

  • 至少有一个Databricks SQL仓库查看可用的仓库创建仓库,如果你还没有的话。

  • 你的仓库连接细节.具体来说,您需要服务器主机名而且HTTP路径值。

  • Databricks个人访问令牌。创建一个个人访问令牌,如果你还没有的话。

  • Python3.7或更高。使用该命令检查是否安装了Pythonpython——版本从您的终端或命令提示符。(在某些系统上,您可能需要输入python3相反)。安装Python,如果您还没有安装。

  • 皮普, Python的包安装程序。安装较新的Python版本皮普默认情况下。检查你是否有皮普安装完成后,执行该命令皮普——版本从您的终端或命令提示符。(在某些系统上,您可能需要输入pip3相反)。pip安装,如果您还没有安装。

  • (可选)用于创建和管理Python的实用程序虚拟环境,例如venvvirtualenv,或pipenv.虚拟环境有助于确保您同时使用正确版本的Python和Databricks SQL CLI。设置和使用虚拟环境超出了本文的范围。有关更多信息,请参见创建虚拟环境

安装Databricks SQL命令行

在你见到需求,安装Databricks SQL命令行包从Python打包索引(PyPI)。你可以使用皮普从PyPI安装Databricks SQL命令行包皮普安装databricks-sql-clipython- 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_NAMEDBSQLCLI_HTTP_PATH而且DBSQLCLI_ACCESS_TOKEN环境变量。看到环境变量

  • 通过指定——主机名——http-path,——访问令牌在Databricks SQL命令行中执行命令时,可选择。看到命令选项

请注意

dbsqlclirc设置文件必须存在,即使您设置了前面的环境变量或指定了前面的命令选项或两者都有。

无论何时运行Databricks SQL CLI,它都会按照以下顺序查找身份验证详细信息,在找到第一组详细信息时停止:

  1. ——主机名——http-path,——访问令牌选项。

  2. DBSQLCLI_HOST_NAMEDBSQLCLI_HTTP_PATH而且DBSQLCLI_ACCESS_TOKEN环境变量。

  3. 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上。要自定义此文件:

  1. 使用文本编辑器打开和编辑dbsqlclirc文件。

  2. 滚动到以下部分:

    #[凭证]# host_name = "" # http_path = "" # access_token = ""
  3. 移除四个字符,:

    1. 旁边host_name,进入你的仓库服务器主机名值来自于需求之间""字符。

    2. 旁边http_path,进入你的仓库HTTP路径值来自于需求之间""字符。

    3. 旁边access_token,输入您的个人访问令牌值之间的要求""字符。

    例如:

    [credentials] host_name = "dbc-a1b2345c-d6e78.cloud.www.neidfyre.com" http_path = "/sql/1.0/ warehousing /1abc2d3456e7f890a" access_token = "dapi1234567890b2cd34ef5a67bc8de90fa12b"
  4. 保存dbsqlclirc文件。

或者,不使用dbsqlclirc文件的默认位置,则可以在不同的位置指定文件——clirc命令选项和备用文件的路径。该备用文件的内容必须符合前面的语法。

环境变量

使用DBSQLCLI_HOST_NAMEDBSQLCLI_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命令行支持以下几种查询方式:

  • 从一个查询字符串

  • 从一个文件

  • 在读取-求值-打印循环中(REPL)方法。这种方法在您输入时提供建议。

查询字符串

要以字符串形式运行查询,请使用- 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_formatdbsqlclirc文件。

文件

要运行包含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_formatdbsqlclirc文件。

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主机名:默认>退出