Установка ADB ClickHouse Connector
Для установки ADB ClickHouse Connector выполните следующие шаги:
-
Убедитесь, что сервисы PXF и ADB ClickHouse Connector установлены в кластере ADB. Информацию о добавлении сервисов в кластер можно получить в статье Добавление сервисов.
-
Добавьте новый кастомный профиль с именем
Tkh_clickhouse:text
в конфигурационный файл PXF /var/lib/pxf/conf/pxf-profiles.xml на хосте Master. Для редактирования файла можно воспользоваться командой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. В общем случае путь может быть иным. -
Подключитесь к Master-серверу ADB под пользователем
gpadmin
, который создается по умолчанию. Все команды, приведенные на шагах ниже, запускаются исключительно на хосте Master:$ sudo su - gpadmin
-
Для синхронизации конфигурационных файлов PXF на всех хостах кластера ADB выполните команду:
$ pxf cluster sync
Результат:
Syncing PXF configuration files from master host to standby master host and 2 segment hosts... PXF configs synced successfully on 3 out of 3 hosts
-
Перезапустите сервис PXF:
$ pxf cluster restart
Результат:
Restarting PXF on master host, standby master host, and 2 segment hosts... PXF restarted successfully on 4 out of 4 hosts
-
Подключитесь к базе данных через psql (или иную клиентскую программу):
$ psql adb
-
Убедитесь, что расширения
gptkh
,pxf_fdw
,tkh_fdw
успешно добавлены. Для этого можно использовать команду psql\dx
:\dx
Результат содержит расширения
gptkh
,pxf_fdw
,tkh_fdw
:List of installed extensions Name | Version | Schema | Description -------------------+---------+------------+--------------------------------------------------------------------- arenadata_toolkit | 1.0 | public | extension is used for manipulation of objects created by adb-bundle dblink | 1.1 | public | connect to other PostgreSQL databases from within a database diskquota | 2.2 | public | Disk Quota Main Program gptkh | 0.14 | public | gptkh kadb_fdw | 0.16 | kadb | Kafka-ADB foreign data wrapper plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language postgis | 2.5.4 | public | PostGIS geometry, geography, and raster spatial types and functions pxf | 2.0 | public | Extension which allows to access unmanaged data pxf_fdw | 1.0 | public | PXF Foreign Data Wrapper for Greenplum 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;
Результат:
fdwname | fdwowner | fdwhandler | fdwvalidator | fdwacl | fdwoptions ---------------+----------+------------+--------------+--------+-------------------------------------------------------------------------------------------- dblink_fdw | 10 | 0 | 16480 | | kadb_fdw | 10 | 20308 | 20310 | | {"mpp_execute=all segments",k_initial_offset=0,k_automatic_offsets=true,k_latency_ms=2000} jdbc_pxf_fdw | 10 | 20377 | 20378 | | {protocol=jdbc,"mpp_execute=all segments"} hdfs_pxf_fdw | 10 | 20377 | 20378 | | {protocol=hdfs,"mpp_execute=all segments"} hive_pxf_fdw | 10 | 20377 | 20378 | | {protocol=hive,"mpp_execute=all segments"} hbase_pxf_fdw | 10 | 20377 | 20378 | | {protocol=hbase,"mpp_execute=all segments"} s3_pxf_fdw | 10 | 20377 | 20378 | | {protocol=s3,"mpp_execute=all segments"} gs_pxf_fdw | 10 | 20377 | 20378 | | {protocol=gs,"mpp_execute=all segments"} adl_pxf_fdw | 10 | 20377 | 20378 | | {protocol=adl,"mpp_execute=all segments"} wasbs_pxf_fdw | 10 | 20377 | 20378 | | {protocol=wasbs,"mpp_execute=all segments"} file_pxf_fdw | 10 | 20377 | 20378 | | {protocol=file,"mpp_execute=all segments"} tkh_fdw | 10 | 20392 | 20391 | | {protocol=tkh_clickhouse,"mpp_execute=all segments",format=text} (12 rows)