Установка ADB ClickHouse Connector
Для установки ADB ClickHouse Connector выполните следующие шаги:
-
Убедитесь, что сервисы PXF и ADB ClickHouse Connector установлены в кластере ADB. Информацию о добавлении сервисов в кластер можно получить в статье Добавление сервисов.
-
Добавьте новый кастомный профиль с именем
Tkh_clickhouse:textв конфигурационный файл PXF /var/lib/pxf/conf/pxf-profiles.xml на хосте координатора. Для редактирования файла можно воспользоваться командойviилиvim:$ sudo vi /var/lib/pxf/conf/pxf-profiles.xmlСодержимое отредактированного файла может выглядеть следующим образом. В представленном примере другие профили в файле отсутствуют:
<profiles> <profile> <name>Tkh_clickhouse:text</name> <description>Clickhouse</description> <plugins> <accessor>io.arenadata.tkh.pxf.TkhFdwAccessor</accessor> <resolver>io.arenadata.tkh.pxf.TkhResolver</resolver> </plugins> </profile> </profiles>ПРИМЕЧАНИЕДиректория, в которой расположены конфигурационные файлы PXF, определяется переменной окружения
PXF_BASE. Значение переменной по умолчанию — /var/lib/pxf. В общем случае путь может быть иным. -
Подключитесь к хосту координатора ADB под пользователем
gpadmin, который создается по умолчанию. Все команды, приведенные на шагах ниже, запускаются исключительно на хосте координатора:$ sudo su - gpadmin -
Для синхронизации конфигурационных файлов PXF на всех хостах кластера ADB выполните команду:
$ pxf cluster syncРезультат:
Syncing PXF configuration files from coordinator host to standby coordinator host and 2 segment hosts... PXF configs synced successfully on 3 out of 3 hosts
-
Перезапустите сервис PXF:
$ pxf cluster restartРезультат:
Restarting PXF on coordinator host, standby coordinator host, and 2 segment hosts... PXF restarted successfully on 4 out of 4 hosts
-
Подключитесь к базе данных через
psql(или иную клиентскую программу):$ psql adb -
Убедитесь, что расширения
pxf_fdwиtkh_fdwуспешно добавлены. Для этого можно использовать командуpsql\dx:\dxРезультат содержит расширения
pxf_fdwиtkh_fdw:List of installed extensions Name | Version | Schema | Description -------------------+---------+------------+--------------------------------------------------------------------- adb_fdw | 1.0 | public | foreign-data wrapper for remote ADB servers arenadata_toolkit | 1.0 | public | extension is used for manipulation of objects created by adb-bundle dblink | 1.2 | public | connect to other PostgreSQL databases from within a database gp_exttable_fdw | 1.0 | pg_catalog | External Table Foreign Data Wrapper for Greengage gp_toolkit | 1.8 | gp_toolkit | various GPDB administrative views/functions kadb_fdw | 0.16 | kadb | Kafka-ADB foreign data wrapper plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language pxf | 2.1 | public | Extension which allows to access unmanaged data pxf_fdw | 1.0 | public | PXF Foreign Data Wrapper for Greengage tkh_fdw | 1.0 | public | ClickHouse Foreign Data Wrapper for Greenplum (10 rows) -
Также можно проверить наличие новой обертки сторонних данных (foreign data wrapper)
tkh_fdw, обратившись к таблице системного каталогаpg_catalog.pg_foreign_data_wrapper:SELECT * FROM pg_catalog.pg_foreign_data_wrapper;Результат:
oid | fdwname | fdwowner | fdwhandler | fdwvalidator | fdwacl | fdwoptions -------+-----------------+----------+------------+--------------+--------+-------------------------------------------------------------------------------------------- 13702 | gp_exttable_fdw | 10 | 13700 | 13701 | | 17124 | dblink_fdw | 10 | 0 | 17123 | | 17175 | adb_fdw | 10 | 17173 | 17174 | | 17187 | jdbc_pxf_fdw | 10 | 17185 | 17186 | | {protocol=jdbc,"mpp_execute=all segments"} 17188 | hdfs_pxf_fdw | 10 | 17185 | 17186 | | {protocol=hdfs,"mpp_execute=all segments"} 17189 | hive_pxf_fdw | 10 | 17185 | 17186 | | {protocol=hive,"mpp_execute=all segments"} 17190 | hbase_pxf_fdw | 10 | 17185 | 17186 | | {protocol=hbase,"mpp_execute=all segments"} 17191 | s3_pxf_fdw | 10 | 17185 | 17186 | | {protocol=s3,"mpp_execute=all segments"} 17192 | gs_pxf_fdw | 10 | 17185 | 17186 | | {protocol=gs,"mpp_execute=all segments"} 17193 | adl_pxf_fdw | 10 | 17185 | 17186 | | {protocol=adl,"mpp_execute=all segments"} 17194 | wasbs_pxf_fdw | 10 | 17185 | 17186 | | {protocol=wasbs,"mpp_execute=all segments"} 17195 | file_pxf_fdw | 10 | 17185 | 17186 | | {protocol=file,"mpp_execute=all segments"} 17201 | tkh_fdw | 10 | 17200 | 17199 | | {protocol=tkh_clickhouse,"mpp_execute=all segments",format=text} 17210 | kadb_fdw | 10 | 17209 | 17211 | | {"mpp_execute=all segments",k_initial_offset=0,k_automatic_offsets=true,k_latency_ms=2000} (14 rows)