Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Yandex Managed Service for Trino
RU
  • Начало работы
    • Взаимосвязь ресурсов сервиса
    • Сеть в Managed Service for Trino
    • Имперсонация
    • Отказоустойчивое выполнение запросов
    • Классы хостов
    • Управление доступом
    • Ресурсные группы
    • Техническое обслуживание
    • Коннектор Greenplum®
  • Справочник Terraform
  • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
  • Метрики Yandex Monitoring
  • Аудитные логи Audit Trails
  • История изменений

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

  • Параллельное чтение данных
  • Чтение данных по протоколу GPFDIST
  • Настройки коннектора
  1. Концепции
  2. Коннектор Greenplum®

Коннектор Greenplum®/Cloudberry

Статья создана
Yandex Cloud
Обновлена 29 мая 2026 г.
  • Параллельное чтение данных
  • Чтение данных по протоколу GPFDIST
  • Настройки коннектора

Коннектор Greenplum®/Cloudberry, разработанный Яндексом на основе коннектора PostgreSQL, позволяет Managed Service for Trino читать и записывать данные в кластер Greenplum®/Cloudberry.

Коннектор поддерживает параллельное чтение данных сразу с нескольких сегментов Greenplum® и чтение данных напрямую с сегментов по протоколу GPFDIST, что значительно увеличивает производительность запросов при чтении больших объемов данных. Оба способа чтения данных можно применять одновременно, чтобы наиболее эффективно использовать ресурсы кластера Trino и кластера Greenplum®.

Коннектор Greenplum®/Cloudberry доступен в Trino версии 476 и выше.

Параллельное чтение данныхПараллельное чтение данных

При параллельном чтении из таблицы данные разделяются по значению метаколонки gp_segment_id.

Уровень параллелизма определяется количеством сегментов в кластере Greenplum®. Максимальный уровень параллелизма ограничен настройкой коннектора greenplum.max-read-parallelism и соответствующим свойством сессии max_read_parallelism.

Схематично параллельное чтение представлено на диаграмме:

При использовании параллельного чтения коннектор выполняет только частичную фильтрацию строк при выталкивании оператора LIMIT (limit pushdown). Это не влияет на корректность результатов запроса.

Чтение данных по протоколу GPFDISTЧтение данных по протоколу GPFDIST

Коннектор позволяет читать данные напрямую с сегментов Greenplum® через серверы GPFDIST, созданные на воркерах Trino. Включение серверов GPFDIST контролируется настройкой коннектора greenplum.gpfdist.server.enabled.

В кластере Trino можно создать не больше восьми каталогов с включенными GPFDIST-серверами.

Чтение данных напрямую с сегментов Greenplum® состоит из следующих этапов:

  1. Коннектор создает внешнюю таблицу с указанием адреса воркера Trino, читающего данные:

    CREATE WRITABLE EXTERNAL TEMPORARY TABLE <имя_внешней_таблицы>
           ...
           LOCATION('gpfdist://<адрес_воркера_Trino>');
    
  2. Коннектор выполняет запрос:

    INSERT INTO <имя_внешней_таблицы>
    SELECT ... FROM <имя_таблицы_в_Greenplum®>;
    
  3. Сегменты Greenplum® отправляют данные воркеру Trino на указанный адрес.

Схематично чтение данных с сегментов представлено на диаграмме:

Использование протокола GPFDIST для чтения данных вносит следующие ограничения в работу коннектора:

  • Не поддерживается чтение многомерных массивов.
  • Не поддерживается чтение массивов строковых типов.
  • Не поддерживается режим обработки массивов AS_JSON.
  • При одновременном выталкивании операторов LIMIT и ORDER BY (Top-N pushdown) коннектор выполняет только частичную сортировку данных. Это не влияет на корректность результатов запроса.

Настройки коннектораНастройки коннектора

Базовые настройки коннектора и соответствующие им свойства сессии совпадают с коннектором PostgreSQL соответствующей версии. Кроме этого доступны следующие настройки:

Настройка Описание Значение
по умолчанию
greenplum.gpfdist.server.enabled Включает GPFDIST-серверы на воркерах Trino false
greenplum.gpfdist.max-processing-threads Максимальный размер пула потоков, производящих асинхронную обработку GPFDIST-запросов 32
greenplum.gpfdist.max-query-threads Максимальный размер пула потоков, создающих внешние таблицы Greenplum® и инициирующих запись данных во внешнюю таблицу 32
greenplum.gpfdist.read.enabled Включает чтение данных напрямую с сегментов Greenplum® по протоколу GPFDIST false
greenplum.gpfdist.read.buffer-size

Размер буфера для чтения данных по протоколу GPFDIST в формате data size. В случае переполнения буфера коннектор приостанавливает прием данных от сегментов Greenplum®.

Соответствует свойству сессии gpfdist_read_buffer_size

32MB
greenplum.gpfdist.retry-timeout

Максимальное время, которое сегмент Greenplum® будет ожидать ответа на GPFDIST-запрос, в формате duration.

При значении, отличающемся от null, настройка переопределяет параметр Greenplum® gpfdist_retry_timeout (по умолчанию — 300 секунд)

null
greenplum.max-read-parallelism

Максимальный уровень параллелизма при чтении данных из Greenplum®.

Соответствует свойству сессии max_read_parallelism

1 (отсутствие параллелизма)
greenplum.segment-fetch-required

Определяет поведение коннектора в случае, если ему не удается получить информацию о количестве сегментов Greenplum®:

  • При значении true запрос к Trino завершится ошибкой.
  • При значении false уровень параллелизма будет равен значению свойства сессии max_read_parallelism.

Соответствует свойству сессии segment_fetch_required

true

См. такжеСм. также

  • Создание каталога Trino

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

Предыдущая
Техническое обслуживание
Следующая
Overview
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»