Создание внешнего источника данных JDBC
В Managed Service for Greenplum® в качестве внешнего источника данных с типом подключения JDBC можно использовать:
- ClickHouse®;
- HBase;
- MySQL®;
- Oracle;
- PostgreSQL;
- SQL Server.
В этот список входят управляемые БД Yandex Cloud и сторонние БД.
Создайте внешний источник
- Перейдите на страницу каталога
и выберите сервис Managed Service for Greenplum. - Откройте страницу нужного кластера Managed Service for Greenplum®.
- На панели слева выберите
PXF. - Нажмите кнопку Создать источник данных.
- Выберите тип подключения
JDBC
. - Укажите имя источника.
- Задайте хотя бы одну опциональную настройку.
- Нажмите кнопку Создать.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы создать внешний источник данных JDBC:
-
Посмотрите описание команды CLI для создания источника данных:
yc managed-greenplum pxf-datasource create jdbc --help
-
Задайте настройки источника данных:
yc managed-greenplum pxf-datasource create jdbc <имя_внешнего_источника_данных> \ --cluster-id=<идентификатор_кластера> \ --driver=<адрес_драйвера> \ --url=<URL_базы_данных> \ --user=<имя_пользователя> \ --password=<пароль>
Где:
-
cluster-id
— идентификатор кластера. Его можно получить со списком кластеров в каталоге. -
driver
— класс JDBC-драйвера в Java. Возможные значения:com.simba.athena.jdbc.Driver
com.clickhouse.jdbc.ClickHouseDriver
com.ibm.as400.access.AS400JDBCDriver
com.microsoft.sqlserver.jdbc.SQLServerDriver
com.mysql.cj.jdbc.Driver
org.postgresql.Driver
oracle.jdbc.driver.OracleDriver
net.snowflake.client.jdbc.SnowflakeDriver
io.trino.jdbc.TrinoDriver
-
url
— URL базы данных. Примеры:jdbc:mysql://mysqlhost:3306/testdb
— для локальной БД MySQL®.jdbc:postgresql://c-<идентификатор_кластера>.rw.mdb.yandexcloud.net:6432/db1
— для кластера Yandex Managed Service for PostgreSQL. Адрес содержит особый FQDN мастера в кластере.jdbc:oracle:thin:@host.example:1521:orcl
— для БД Oracle.
-
user
— имя пользователя, владельца БД. -
password
— пароль пользователя БД.
Вы также можете указать дополнительные настройки.
-
Чтобы добавить источник данных JDBC в кластер Managed Service for Greenplum®, воспользуйтесь методом REST API create для ресурса PXFDatasource или вызовом gRPC API PXFDatasourceService/Create и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Имя источника в параметре
name
. - Настройки внешнего источника в параметре
jdbc
.
Пример запроса REST API
В примере ниже рассматривается, как создать внешний источник данных для кластера Managed Service for PostgreSQL с помощью REST API Managed Service for Greenplum®. Чтобы создать источник:
-
Получите IAM-токен. Он используется для аутентификации в API.
-
Добавьте IAM-токен в переменную окружения:
export IAM_TOKEN=<токен>
-
Отправьте запрос с помощью утилиты cURL
:curl --location "https://mdb.api.cloud.yandex.net/managed-greenplum/v1/clusters/<идентификатор_кластера>/pxf_datasources" \ --header "Content-Type: text/plain" \ --header "Authorization: Bearer ${IAM_TOKEN}" \ --data "{ \"datasource\": { \"name\": \"jdbc\", \"jdbc\": { \"driver\": \"org.postgresql.Driver\", \"url\": \"jdbc:postgresql://c-<идентификатор_кластера>.rw.mdb.yandexcloud.net:6432/<имя_БД>\", \"user\": \"<логин_пользователя>\", \"password\": \"<пароль_пользователя>\" } } }"
В теле запроса передаются параметры:
-
name
— имя источника, напримерjdbc
. -
driver
— адрес драйвера для БД. -
url
— URL базы данных. Содержит особый FQDN текущего мастера.Идентификатор кластера можно получить со списком кластеров в каталоге.
-
user
— имя пользователя, владельца БД. -
password
— пароль пользователя.
-
Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками VMware, Inc в США и/или других странах.
ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc