Создание внешнего источника данных 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
— пароль пользователя БД.
Вы также можете указать дополнительные настройки.
-
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>"
-
Воспользуйтесь методом PXFDatasource.Create и выполните запрос, например, с помощью cURL
:curl \ --request POST \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.cloud.yandex.net/managed-greenplum/v1/clusters/<идентификатор_кластера>/pxf_datasources' \ --data '{ "datasource": { "name": "<имя_внешнего_источника_данных>", "jdbc": { "driver": "<адрес_драйвера>", "url": "<URL_базы_данных>", "user": "<логин_пользователя>", "password": "<пароль_пользователя>", ... } } }'
Где:
name
— имя внешнего источника данных.jdbc
— настройки внешнего источника данных. Задайте хотя бы одну опциональную настройку.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>"
-
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
Далее предполагается, что содержимое репозитория находится в директории
~/cloudapi/
. -
Воспользуйтесь вызовом PXFDatasourceService.Create и выполните запрос, например, с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/greenplum/v1/pxf_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>" "datasource": { "name": "<имя_внешнего_источника_данных>", "jdbc": { "driver": "<адрес_драйвера>", "url": "<URL_базы_данных>", "user": "<логин_пользователя>", "password": "<пароль_пользователя>", ... } } }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.greenplum.v1.PXFDatasourceService.Create
Где:
name
— имя внешнего источника данных.jdbc
— настройки внешнего источника данных. Задайте хотя бы одну опциональную настройку.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками VMware, Inc в США и/или других странах.
ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc