Подключение к 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 откройте консоль терминала в вашей ОС и используйте следующий синтаксис команды:
Используйте сетевой адрес узла, на котором установлен компонент 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 выполняет поиск конфигурационных файлов и использует первый найденный. Порядок поиска:
-
Файл, заданный переменной окружения
TRINO_CONFIG
. -
Файл .trino_config, расположенный в домашней директории текущего пользователя.
-
Файл $XDG_CONFIG_HOME/trino/config.
Например, можно записать в файл .trino_config основные значения и создать некоторое количество файлов с частными (изменяющимися) значениями. В этом случае можно определять переменную TRINO_CONFIG
как путь к файлу, который требуется в данной ситуации, а затем сбросить её, чтобы вернуться к значениям из файла .trino_config.