Подключение к Trino через CLI

Обзор

Сервис Trino имеет интерфейс командной строки (Command Line Interface, CLI), который позволяет выполнять SQL-выражения с удаленного терминала (относительно кластера Trino). Он реализован с помощью JAR-файла, который может быть запущен в любой ОС при условии, что в ней установлена среда исполнения Java (Java Runtime Environment, JRE).

Настройка

Удаленная машина

Перед использованием командной строки Trino убедитесь, что на машине установлена JRE версии 8 или выше, а компонент Trino Cooridinator доступен в сети.

Для использования командной строки Trino нужно загрузить исполняемый JAR-файл. Ссылку на наиболее актуальный файл можно найти на сайте документации Trino. Если вы используете ОС Linux, переименуйте файл как trino и назначьте для него права на исполнение с помощью команды chmod +x. Если вы используете ОС Windows, запустите командную строку Windows от имени администратора перед запуском JAR-файла в ней.

ADH

Убедитесь, что для источников данных, к которым требуется доступ с помощью командной строки, настроены каталоги Trino, как описано в статье Управление каталогами в Trino. Если вам потребовалось добавить новый каталог — перезапустите сервис Trino после этого.

Использование

Запуск

Для запуска командной строки Trino откройте консоль терминала в вашей ОС и используйте следующий синтаксис команды:

  • Windows

  • Linux

java -jar trino-cli-468-executable.jar http://cooridinator.trino.example:18188
$ ./trino http://cooridinator.trino.example:18188

Используйте сетевой адрес узла, на котором установлен компонент Trino Coordinator. Если подключение выполнено успешно — появится приглашение командной строки Trino. Для просмотра доступных команд выполните команду help. Пример:

help
Supported commands:
QUIT
EXIT
CLEAR
EXPLAIN [ ( option [, ...] ) ] <query>
    options: FORMAT { TEXT | GRAPHVIZ | JSON }
            TYPE { LOGICAL | DISTRIBUTED | VALIDATE | IO }
DESCRIBE <table>
SHOW COLUMNS FROM <table>
SHOW FUNCTIONS
SHOW CATALOGS [LIKE <pattern>]
SHOW SCHEMAS [FROM <catalog>] [LIKE <pattern>]
SHOW TABLES [FROM <schema>] [LIKE <pattern>]
USE [<catalog>.]<schema>

Для очистки экрана терминала используйте команду clear. Для выхода из командной строки Trino и возврата в терминал ОС используйте команды exit или quit.

При запуске командной строки Trino также можно использовать различные опции. Их список представлен на странице Command line interface документации Trino.

Выполнение выражений

После запуска командной строки Trino вы можете выполнять в ней SQL-выражения. После обработки выражения на экран будет выведен его результат и статистика. Пример:

select * from "hive-adh"."default"."solar_objects";
  name   |    mass    | diameter
---------+------------+----------
 Sun     | 1989100000 |  1392000
 Mercury |        330 |     4879
 Venus   |       4867 |    12104
 Earth   |       5972 |    12742
 Mars    |        642 |     6780
 Jupiter |    1898187 |   139822
 Saturn  |     568317 |   116464
 Uranus  |      86813 |    50724
 Neptune |     102413 |    49244
(9 rows)

Query 20250115_092203_00003_7thb6, FINISHED, 1 node
Splits: 1 total, 1 done (100,00%)
1,51 [9 rows, 172B] [5 rows/s, 114B/s]

В этом примере hive-adh — название каталога, default — имя БД, solar_objects — имя таблицы.

Можно задать каталог и БД по умолчанию при запуске командной строки Trino. Для этого введите их названия последовательно через слеши сразу после сетевого адреса и порта. Пример:

$ ./trino http://cooridinator.trino.example:18188/hive-adh/default

В этом случае приглашение командной строки будет содержать имя БД. Это эквивалентно использованию выражения USE, которое позволяет указывать только название таблицы при составлении запросов к ней. Пример:

select * from "solar_objects";
  name   |    mass    | diameter
---------+------------+----------
 Pluto   |       3897 |   473947
 Sun     | 1989100000 |  1392000
 Mercury |        330 |     4879
 Venus   |       4867 |    12104
 Earth   |       5972 |    12742
 Mars    |        642 |     6780
 Jupiter |    1898187 |   139822
 Saturn  |     568317 |   116464
 Uranus  |      86813 |    50724
 Neptune |     102413 |    49244
(10 rows)

Query 20250116_072842_00002_rpy4j, FINISHED, 2 nodes
Splits: 2 total, 2 done (100,00%)
2,11 [10 rows, 200B] [4 rows/s, 95B/s]

TLS/HTTPS

Командная строка Trino поддерживает защищенные соединения с использованием TLS. Если в вашей сети настроено использование TLS и сертификатов, то достаточно просто указывать HTTPS URL сетевого адреса компонента Trino Coordinator при запуске командной строки Trino.

На странице Command line interface документации Trino приведен список доступных опций использования TLS в командной строке Trino.

Файлы конфигурации

Иногда в командной строке Trino бывает необходимо задать конкретный набор опций в одной команде на повторяющейся основе. Вместо того, чтобы каждый раз вводить эти опции вручную, можно задать требуемые значения для любого числа опций, доступных в командной строке Trino, и записать их в файл, а затем вызывать его при выполнении команды. Каждый раз, когда выполняется команда, интерфейс командной строки Trino выполняет поиск конфигурационных файлов и использует первый найденный. Порядок поиска:

  1. Файл, заданный переменной окружения TRINO_CONFIG.

  2. Файл .trino_config, расположенный в домашней директории текущего пользователя.

  3. Файл $XDG_CONFIG_HOME/trino/config.

Например, можно записать в файл .trino_config основные значения и создать некоторое количество файлов с частными (изменяющимися) значениями. В этом случае можно определять переменную TRINO_CONFIG как путь к файлу, который требуется в данной ситуации, а затем сбросить её, чтобы вернуться к значениям из файла .trino_config.

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней