Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for Trino
  • Начало работы
    • Все инструкции
    • Информация об имеющихся кластерах
    • Создание кластера
    • Изменение кластера
    • Остановка и запуск кластера
    • Подключение к кластеру
    • Удаление кластера
  • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
  • История изменений

В этой статье:

  • Получение SSL-сертификата
  • Инструменты командной строки
  • Trino CLI
  • Подключение из графических IDE
  • WebSQL
  • Примеры строк подключения
  • Python
  • Java
  • Node.js
  1. Пошаговые инструкции
  2. Подключение к кластеру

Подключение к кластеру Trino

Статья создана
Yandex Cloud
Обновлена 25 апреля 2025 г.
  • Получение SSL-сертификата
  • Инструменты командной строки
    • Trino CLI
  • Подключение из графических IDE
  • WebSQL
  • Примеры строк подключения
    • Python
    • Java
    • Node.js

Вы можете подключиться к кластеру Managed Service for Trino:

  • Через интернет с использованием SSL-соединения.

  • С виртуальных машин Yandex Cloud, расположенных в той же облачной сети.

Получение SSL-сертификатаПолучение SSL-сертификата

Чтобы использовать шифрованное соединение, получите SSL-сертификат:

Linux (Bash)/macOS (Zsh)
Windows (PowerShell)
mkdir -p ~/.trino && \
wget "https://storage.yandexcloud.net/cloud-certs/CA.pem" \
     --output-document ~/.trino/root.crt && \
chmod 0655 ~/.trino/root.crt

Сертификат будет сохранен в файле ~/.trino/root.crt.

mkdir $HOME\.trino; curl.exe -o $HOME\.trino\root.crt https://storage.yandexcloud.net/cloud-certs/CA.pem

Сертификат будет сохранен в файле $HOME\.trino\root.crt.

Для использования графических IDE сохраните сертификат в локальную папку и укажите путь к нему в настройках подключения.

Инструменты командной строкиИнструменты командной строки

Trino CLITrino CLI

Если у вас еще нет интерфейса командной строки Trino, установите его по инструкции на официальном сайте Trino.

Чтобы подключиться к кластеру Managed Service for Trino:

  1. Создайте IAM-токен и поместите его в переменную окружения TRINO_PASSWORD:

    export TRINO_PASSWORD=$(yc iam create-token)
    

    IAM-токен, хранящийся в переменной TRINO_PASSWORD, служит паролем для подключения к кластеру Managed Service for Trino. Чтобы использовать его, укажите при подключении флаг --password.

  2. Подключитесь к кластеру Managed Service for Trino:

    ./trino <URL_координатора> --user iam --password
    

    Вы можете скопировать URL координатора в поле Координатор на странице обзора кластера Trino в Консоли управления.

Подключение из графических IDEПодключение из графических IDE

Перед подключением:

  1. Создайте IAM-токен:

    yc iam create-token
    
  2. Сохраните полученный токен. Он будет использоваться в качестве пароля при подключении.

DataGrip
DBeaver
  1. Создайте источник данных:
    1. Выберите в меню File → New → Data Source → Trino.
    2. Введите имя источника данных.
    3. Укажите параметры подключения на вкладке General:
      • Host — c-<идентификатор_кластера>.trino.yandexcloud.net;
      • Port — 443;
      • User — iam;
      • Password — созданный ранее IAM-токен.
    4. На вкладке SSH/SSL:
      1. Включите настройку Use SSL.
      2. В поле CA file укажите путь к файлу SSL-сертификата для подключения.
  2. Нажмите ссылку Test Connection для проверки подключения. При успешном подключении будет выведен статус подключения, информация о СУБД и драйвере.
  3. Нажмите кнопку OK, чтобы сохранить источник данных.
  1. Создайте новое соединение с БД:
    1. Выберите в меню База данных пункт Новое соединение.
    2. Выберите из списка Trino.
    3. Нажмите кнопку Далее.
    4. Укажите параметры подключения на вкладке Главное:
      • Хост — c-<идентификатор_кластера>.trino.yandexcloud.net;
      • Порт — 443.
      • В блоке Аутентификация укажите:
        • Имя пользователя — iam;
        • Пароль пользователя — созданный ранее IAM-токен.
  2. Нажмите кнопку Тест соединения ... для проверки подключения. При успешном подключении будет выведен статус подключения, информация о СУБД и драйвере.
  3. Нажмите кнопку Готово, чтобы сохранить настройки соединения с БД.

WebSQLWebSQL

  1. В консоли управления откройте сервис Managed Service for Trino.

  2. Откройте ваш кластер Managed Service for Trino.

  3. Перейдите в раздел WebSQL.

  4. Нажмите кнопку Перейти в WebSQL.

  5. В открывшемся редакторе SQL-запросов выполните запрос:

    SELECT version() AS version;
    

    В ответе на запрос будет информация о версии Trino.

Примеры строк подключенияПримеры строк подключения

PythonPython

Перед подключением:

  1. Установите зависимости:

    pip3 install trino
    
  2. Создайте IAM-токен и поместите его в переменную окружения TOKEN:

    export TOKEN=$(yc iam create-token)
    
Подключение с SSL
  1. Пример кода:

    connect.py

    import os
    from contextlib import closing
    from trino.dbapi import connect
    from trino.auth import BasicAuthentication
    
    TIMEOUT = 10
    COORDINATOR_URL = '<URL_координатора>'
    IAM_TOKEN = os.environ['TOKEN']
    
    def get_version():
        auth = BasicAuthentication(username='iam', password=IAM_TOKEN)
        with closing(connect(host=COORDINATOR_URL, port=443, auth=auth, request_timeout=TIMEOUT)) as conn:
            with closing(conn.cursor()) as cur:
                cur.execute('SELECT version() as version')
                rows = cur.fetchall()
                print(rows[0][0])
    
    if __name__ == "__main__":
        get_version()
    

    Вы можете скопировать URL координатора в поле Координатор на странице обзора кластера Trino в консоли управления.

  2. Подключение:

    python3 connect.py
    

JavaJava

Перед подключением:

  1. Установите зависимости:

    sudo apt update && sudo apt install --yes openjdk-21-jre maven
    
  2. Создайте директорию для проекта Maven:

    cd ~/ && mkdir -p project/src/main/java/com/example && cd project/
    
  3. Создайте конфигурационный файл для Maven:

    pom.xml
    <?xml version="1.0" encoding="utf-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.example</groupId>
        <artifactId>app</artifactId>
        <version>0.1.0</version>
        <packaging>jar</packaging>
        <properties>
            <maven.compiler.source>21</maven.compiler.source>
            <maven.compiler.target>21</maven.compiler.target>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        </properties>
        <dependencies>
            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-jdbc</artifactId>
                <version>469</version>
            </dependency>
        </dependencies>
        <build>
            <finalName>${project.artifactId}-${project.version}</finalName>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>3.7.1</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>single</goal>
                            </goals>
                            <phase>package</phase>
                            <configuration>
                                <descriptorRefs>
                                    <descriptorRef>
                                        jar-with-dependencies</descriptorRef>
                                </descriptorRefs>
                                <archive>
                                    <manifest>
                                        <mainClass>com.example.App</mainClass>
                                    </manifest>
                                </archive>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.4.2</version>
                    <configuration>
                        <archive>
                            <manifest>
                                <mainClass>com.example.App</mainClass>
                            </manifest>
                        </archive>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </project>
    
    
  4. Создайте IAM-токен и поместите его в переменную окружения TOKEN:

    export TOKEN=$(yc iam create-token)
    
Подключение с SSL
  1. Пример кода:

    src/main/java/com/example/App.java

    package com.example;
    
    import java.sql.DriverManager;
    import java.util.Properties;
    
    public class App {
        private static final String COORDINATOR_URL = "c-<идентификатор_кластера>.trino.yandexcloud.net";
    
        public static void main(String[] args) {
            String url = String.format("jdbc:trino://%s", COORDINATOR_URL);
            String iamToken = System.getenv("TOKEN");
      
            Properties properties = new Properties();
            properties.setProperty("user", "iam");
            properties.setProperty("password", iamToken);
            properties.setProperty("SSL", "true");
    
            try (var connection = DriverManager.getConnection(url, properties)) {
                var rs = connection.createStatement().executeQuery("SELECT version() as VERSION");
                if (rs.next()) {
                    System.out.println(rs.getString(1));
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    

    Вы можете получить идентификатор кластера Managed Service for Trino в консоли управления, вместе со списком кластеров Managed Service for Trino в каталоге.

  2. Сборка и подключение:

    mvn clean package && \
    java -jar target/app-0.1.0-jar-with-dependencies.jar
    

Node.jsNode.js

Перед подключением:

  1. Установите зависимости:

    sudo apt update && sudo apt install --yes nodejs npm && \
    npm install trino-client
    
  2. Создайте IAM-токен и поместите его в переменную окружения TOKEN:

    export TOKEN=$(yc iam create-token)
    
Подключение с SSL

app.mjs

"use strict";
import {BasicAuth, Trino} from 'trino-client';

const COORDINATOR_URL = '<URL_координатора>'
let TOKEN = process.env.TOKEN

async function get_version() {
    const trino = Trino.create({server: COORDINATOR_URL,auth: new BasicAuth('iam', TOKEN)});
    const query = await trino.query('SELECT version() as VERSION');
    const queryResult = await query.next()
    console.log(queryResult.value.data[0][0])
}

get_version();

Вы можете скопировать URL координатора в поле Координатор на странице обзора кластера Trino в консоли управления.

Подключение:

node app.mjs

Была ли статья полезна?

Предыдущая
Остановка и запуск кластера
Следующая
Удаление кластера
Проект Яндекса
© 2025 ООО «Яндекс.Облако»