Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Интерфейс командной строки SQL Databricks не находится в активной разработке.
Примечание.
В этой статье рассматривается Databricks SQL CLI, который предоставляется на условиях "как есть" и не поддерживается через каналы технической поддержки Databricks. Вопросы и запросы функций можно оставлять на странице Проблемы в репозитории GitHub databricks/databricks-sql-cli.
Интерфейс командной строки Databricks SQL (Databricks SQL CLI) позволяет выполнять SQL-запросы к существующим хранилищам Databricks SQL из окна терминала или командной строки Windows вместо таких расположений, как редактор Databricks SQL или записная книжка Azure Databricks. В командной строке вы получаете такие функции производительности, как предложения и выделение синтаксиса.
Требования
- По меньшей мере одно хранилище Databricks SQL. Создайте хранилище, если у вас еще нет.
-
Python 3.7 или более поздней версии. Чтобы проверить, установлен ли Python, выполните команду
python --versionиз терминала или командной строки. (В некоторых системах вместо этого придется ввестиpython3.) Установите Python, если он еще не установлен. - Установщик пакетов для Python pip. Более новые версии Python содержат
pipпо умолчанию. Чтобы проверить, установлен лиpip, выполните командуpip --versionиз терминала или командной строки. (В некоторых системах вместо этого придется ввестиpip3.) Установите pip, если он еще не установлен. - (Необязательно) Служебная программа для создания виртуальных сред Python и управления ими, таких как venv. Виртуальные среды помогают обеспечить использование правильных версий Python и Databricks SQL CLI вместе. Настройка и использование виртуальных сред выходят за рамки этой статьи. Дополнительные сведения см. в разделе Создание виртуальных сред.
Установка интерфейса командной строки Databricks SQL
Выполнив предварительные требования, установите пакет интерфейса командной строки Databricks SQL из списка пакетов Python (PyPI). Вы можете использовать pip для установки пакета SQL интерфейса командной строки Databricks из PyPI, запустив pip одну из следующих команд.
pip install databricks-sql-cli
# Or...
python -m pip install databricks-sql-cli
Чтобы обновить ранее установленную версию интерфейса командной строки SQL Databricks, выполните pip одну из следующих команд.
pip install databricks-sql-cli --upgrade
# Or...
python -m pip install databricks-sql-cli --upgrade
Чтобы проверить установленную версию интерфейса командной строки SQL Databricks, выполните pip одну из следующих команд.
pip show databricks-sql-cli
# Or...
python -m pip show databricks-sql-cli
Проверка подлинности
Чтобы пройти аутентификацию, необходимо предоставить интерфейсу командной строки Databricks SQL сведения о подключении вашего хранилища. В частности, необходимо значение имени узла сервера
Интерфейс командной строки SQL Databricks поддерживает личные токены доступа Databricks (PATs). Чтобы использовать проверку подлинности Azure Databricks PAT, необходимо создать личный маркер доступа. Дополнительные сведения об этом процессе см. в статье Аутентификация с помощью маркеров личного доступа Azure Databricks (устаревшая версия).
Токены идентификатора Microsoft Entra не поддерживаются.
Эти сведения проверки подлинности можно указать в интерфейсе командной строки SQL Databricks несколькими способами:
- В файле параметров
dbsqlclirc, расположенном в стандартном каталоге (или альтернативном файле параметров, который указывается с помощью параметра--clircпри каждом запуске команды в интерфейсе командной строки Databricks SQL CLI). См. раздел Файл параметров. - Путем настройки переменных среды
DBSQLCLI_HOST_NAME,DBSQLCLI_HTTP_PATHиDBSQLCLI_ACCESS_TOKEN. См. раздел Переменные среды. - Указывая параметры
--hostname,--http-pathи--access-tokenпри каждом выполнении команды в Databricks SQL CLI. См. раздел Параметры команды.
Примечание.
Файл параметров dbsqlclirc должен присутствовать, даже если задать предыдущие переменные среды или указать предыдущие параметры команды или оба.
При запуске интерфейса командной строки SQL Databricks он ищет сведения о проверке подлинности в следующем порядке и останавливается при поиске первого набора сведений:
- параметры
--hostname,--http-pathи--access-token; - переменные среды
DBSQLCLI_HOST_NAME,DBSQLCLI_HTTP_PATHиDBSQLCLI_ACCESS_TOKEN; - файл параметров
dbsqlclircв стандартном расположении (или альтернативный файл параметров, если он задан параметром--clirc).
Файл параметров
Чтобы использовать файл параметров dbsqlclirc для передачи в Databricks SQL CLI сведений об аутентификации в хранилище Databricks SQL, для первого запуска Databricks SQL CLI используйте следующий метод:
dbsqlcli
Databricks SQL CLI создаст файл параметров в каталоге ~/.dbsqlcli/dbsqlclirc (Unix, Linux и macOS), %HOMEDRIVE%%HOMEPATH%\.dbsqlcli\dbsqlclirc или %USERPROFILE%\.dbsqlcli\dbsqlclirc (Windows). Чтобы изменить этот файл, выполните следующее.
Откройте файл
dbsqlclircдля правки в текстовом редакторе.Прокрутите вниз до следующего раздела.
# [credentials] # host_name = "" # http_path = "" # access_token = ""Удалите четыре
#символов и:- Рядом с
host_name, введите значение имени хоста сервера вашего хранилища в соответствии с требованиями в пределах символов"". - Рядом с
http_pathвведите значение пути HTTP вашего хранилища из требований между символами"". - Рядом с
access_tokenвведите значение личного токена доступа из требований, заключив его между символами"".
Например:
[credentials] host_name = "adb-12345678901234567.8.azuredatabricks.net" http_path = "/sql/1.0/warehouses/1abc2d3456e7f890a" access_token = "dapi12345678901234567890123456789012"- Рядом с
Сохраните файл
dbsqlclirc.
Кроме того, вместо использования файла dbsqlclirc в стандартном расположении, вы можете указать другое расположение для этого файла, добавив параметр команды --clirc с путем к альтернативному файлу. Содержимое этого альтернативного файла должно соответствовать предыдущему синтаксису.
Переменные среды
Чтобы использовать переменные среды DBSQLCLI_HOST_NAME, DBSQLCLI_HTTP_PATH и DBSQLCLI_ACCESS_TOKEN для предоставления в Databricks SQL CLI сведений об аутентификации в хранилище Databricks SQL, сделайте следующее:
Unix, Linux и macOS
Чтобы задать переменные среды только для текущего сеанса терминала, выполните следующие команды. Чтобы задать переменные среды для всех сеансов терминала, введите следующие команды в файл запуска оболочки и перезапустите терминал. В следующих командах замените указанные значения:
-
DBSQLCLI_HOST_NAMEсо значением имени узла сервера хранилища из требований. -
DBSQLCLI_HTTP_PATHзначение HTTP пути вашего склада согласно требованиям. - замените
DBSQLCLI_ACCESS_TOKENзначением личного маркера доступа из требований.
export DBSQLCLI_HOST_NAME="adb-12345678901234567.8.azuredatabricks.net"
export DBSQLCLI_HTTP_PATH="/sql/1.0/warehouses/1abc2d3456e7f890a"
export DBSQLCLI_ACCESS_TOKEN="dapi12345678901234567890123456789012"
Виндоус
Чтобы задать переменные среды только для текущего сеанса командной строки, выполните следующие команды, заменив значение:
-
DBSQLCLI_HOST_NAMEсо значением имени узла сервера хранилища из требований. -
DBSQLCLI_HTTP_PATHзначение HTTP пути вашего склада согласно требованиям. - замените
DBSQLCLI_ACCESS_TOKENзначением вашего личного токена доступа из требований.
set DBSQLCLI_HOST_NAME="adb-12345678901234567.8.azuredatabricks.net"
set DBSQLCLI_HTTP_PATH="/sql/1.0/warehouses/1abc2d3456e7f890a"
set DBSQLCLI_ACCESS_TOKEN="dapi12345678901234567890123456789012"
Чтобы задать переменные среды для всех сеансов командной строки, выполните следующие команды и перезапустите командную строку, заменив значение:
-
DBSQLCLI_HOST_NAMEсо значением имени узла сервера хранилища из требований. -
DBSQLCLI_HTTP_PATHзначение HTTP пути вашего склада согласно требованиям. - замените
DBSQLCLI_ACCESS_TOKENзначением личного маркера доступа из требований.
setx DBSQLCLI_HOST_NAME "adb-12345678901234567.8.azuredatabricks.net"
setx DBSQLCLI_HTTP_PATH "/sql/1.0/warehouses/1abc2d3456e7f890a"
setx DBSQLCLI_ACCESS_TOKEN "dapi12345678901234567890123456789012"
Параметры команды
Чтобы использовать параметры --hostname, --http-path и --access-token для предоставления в Databricks SQL CLI сведений об аутентификации в хранилище Databricks SQL, сделайте следующее:
Выполните следующие действия при каждом выполнении команды с помощью интерфейса командной строки SQL Databricks:
- Укажите параметр
--hostnameи значение имени узла сервера вашего хранилища из требований. - Укажите параметр
--http-pathи значение HTTP пути вашего хранилища из требований. - Укажите параметр
--access-tokenи значение вашего личного маркера доступа из требований.
Например:
dbsqlcli -e "SELECT * FROM default.diamonds LIMIT 2" \
--hostname "adb-12345678901234567.8.azuredatabricks.net" \
--http-path "/sql/1.0/warehouses/1abc2d3456e7f890a" \
--access-token "dapi12345678901234567890123456789012"
Источники запросов
Databricks SQL CLI позволяет выполнять запросы следующими способами:
- из строки запроса;
- из файла;
- в цикле чтения–оценки–вывода (REPL). Этот подход предоставляет предложения по мере того, как вы вводите текст.
Строка запроса
Чтобы выполнить запрос в формате строки, используйте параметр -e и укажите после него запрос, представленный в виде строки. Например:
dbsqlcli -e "SELECT * FROM default.diamonds LIMIT 2"
Выходные данные:
_c0,carat,cut,color,clarity,depth,table,price,x,y,z
1,0.23,Ideal,E,SI2,61.5,55,326,3.95,3.98,2.43
2,0.21,Premium,E,SI1,59.8,61,326,3.89,3.84,2.31
Чтобы переключить форматы выходных данных, используйте параметр --table-format вместе со значением, например ascii для формата таблицы ASCII, например:
dbsqlcli -e "SELECT * FROM default.diamonds LIMIT 2" --table-format ascii
Выходные данные:
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| _c0 | carat | cut | color | clarity | depth | table | price | x | y | z |
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| 1 | 0.23 | Ideal | E | SI2 | 61.5 | 55 | 326 | 3.95 | 3.98 | 2.43 |
| 2 | 0.21 | Premium | E | SI1 | 59.8 | 61 | 326 | 3.89 | 3.84 | 2.31 |
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
Список доступных значений выходного формата см. в комментариях для параметра table_format в файле dbsqlclirc.
Файлы
Чтобы запустить файл, который содержит код SQL, используйте параметр -e, за которым указан путь к файлу .sql. Например:
dbsqlcli -e my-query.sql
Содержимое примера файла my-query.sql:
SELECT * FROM default.diamonds LIMIT 2;
Выходные данные:
_c0,carat,cut,color,clarity,depth,table,price,x,y,z
1,0.23,Ideal,E,SI2,61.5,55,326,3.95,3.98,2.43
2,0.21,Premium,E,SI1,59.8,61,326,3.89,3.84,2.31
Чтобы переключить форматы выходных данных, используйте параметр --table-format вместе со значением, например ascii для формата таблицы ASCII, например:
dbsqlcli -e my-query.sql --table-format ascii
Выходные данные:
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| _c0 | carat | cut | color | clarity | depth | table | price | x | y | z |
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| 1 | 0.23 | Ideal | E | SI2 | 61.5 | 55 | 326 | 3.95 | 3.98 | 2.43 |
| 2 | 0.21 | Premium | E | SI1 | 59.8 | 61 | 326 | 3.89 | 3.84 | 2.31 |
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
Список доступных значений выходного формата см. в комментариях для параметра table_format в файле dbsqlclirc.
REPL
Чтобы перейти в режим 'читать-оценивать-выводить' (REPL), ограниченный областью базы данных по умолчанию, выполните следующую команду.
dbsqlcli
Вы также можете перейти в режим REPL в области действия конкретной базы данных, выполнив следующую команду:
dbsqlcli <database-name>
Например:
dbsqlcli default
Чтобы выйти из режима REPL, выполните следующую команду:
exit
В режиме REPL можно использовать следующие символы и клавиши:
- Точка с запятой (
;) обозначает завершение строки. - Клавиша F3 переключает многострочный режим.
- Нажмите клавишу пробела, чтобы показать предложения в точке вставки, если они еще не отображаются.
- Используйте стрелки вверх и вниз для навигации по предложениям.
- Используйте стрелку вправо, чтобы завершить выделенное предложение.
Например:
dbsqlcli default
hostname:default> SELECT * FROM diamonds LIMIT 2;
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| _c0 | carat | cut | color | clarity | depth | table | price | x | y | z |
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| 1 | 0.23 | Ideal | E | SI2 | 61.5 | 55 | 326 | 3.95 | 3.98 | 2.43 |
| 2 | 0.21 | Premium | E | SI1 | 59.8 | 61 | 326 | 3.89 | 3.84 | 2.31 |
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
2 rows in set
Time: 0.703s
hostname:default> exit
Ведение журнала
Интерфейс командной строки SQL Databricks записывает сообщения в файл ~/.dbsqlcli/app.log по умолчанию. Чтобы изменить имя файла или расположение, измените значение log_file параметра в dbsqlclircфайле параметров.
По умолчанию сообщения регистрируются на INFO уровне журнала и ниже. Чтобы изменить этот уровень журнала, измените значение log_level параметра в dbsqlclirc файле параметров. Доступные значения уровня журнала включают CRITICAL, ERROR, WARNING, INFOи DEBUG и вычисляются в этом порядке.
NONE отключает ведение журнала.