Обзор Trino ADB connector
Для подключения к кластеру ADB через Trino-коннектор необходимо создать новый каталог Trino.
В конфигурации каталога должен использоваться тип коннектора adb
, а также должны быть указаны следующие параметры (минимальный набор):
connector.name=adb (1)
connection-url=jdbc:postgresql://<adb_master>:5432/database (2)
connection-user=<adb_username> (3)
connection-password=<password>
1 | Установка коннектора для работы с ADB. |
2 | JDBC-строка для подключения к мастер-хосту кластера ADB. Коннектор использует JDBC-драйвер PostgreSQL и поддерживает все его свойства конфигурации, а также наследует ограничения. Больше информации доступно на странице PostgreSQL connector. |
3 | Пользователь ADB, используемый коннектором для подключения к ADB-кластеру. Пользователь должен быть заранее создан на стороне ADB и должен иметь достаточные права для выполнения запросов. |
Подробная информация о настройке Trino-каталога для ADB доступна в разделе Параметры каталога Trino, а также в примере.
Режимы работы коннектора
Trino-коннектор может взаимодействовать с кластером ADB в двух режимах:
-
Операции чтения/записи выполняются с помощью gpfdist.
gpfdist
— это утилита для распределенных операций чтения и записи данных из файлов, которая позволяет параллельно загружать и выгружать данные из внешних таблиц ADB. Под капотом коннектор Trino разворачивает серверыgpfdist
на хостах ADH, а сегменты ADB используютgpfdist
-клиенты для параллельного обмена данными с коннектором. -
Запись данных в ADB через gpfdist, чтение с помощью gp_parallel_retrieve_cursor.
Модуль
gp_parallel_retrieve_cursor
— это улучшенная реализация курсора (cursor), которая позволяет параллельно получать результаты запросов непосредственно из сегментов ADB. Данный тип курсора обеспечивает более быстрое параллельное чтение, добавляет дополнительную гибкость за счет чтения данных в виде фрагментов и в целом более эффективен при обработке больших наборов результатов.
Использование режима параллельного курсора
Чтобы активировать режим чтения данных из ADB с помощью gp_parallel_retrieve_cursor
, выполните следующие шаги:
-
В ADB-кластере создайте расширение
gp_parallel_retrieve_cursor
:CREATE EXTENSION gp_parallel_retrieve_cursor;
-
При создании нового Trino-каталога для ADB установите свойство
adb.connector.gp-parallel-cursor.enabled=true
.