Создание Планировщика импорта данных из Kafka в Vertica

Шаг 0 – экспортируем путь для удобства

export PATH=/opt/vertica/packages/kafka/bin:$PATH

подготовим конфиг-файл вида:
username=(имя бдадмина)
password=(пароль)
dbhost=localhost
dbport=5433
 
Шаг 1 Создаем пул ресурсов (resource pool)
 
Подключаемся в vsql дбадмином и выполняем:
 
CREATE RESOURCE POOL (название пула) PLANNEDCONCURRENCY (Планируемой кол-во потоков-топиков — int) QUEUETIMEOUT 0;
 
Пример:

CREATE RESOURCE POOL kafka_tst PLANNEDCONCURRENCY 5 QUEUETIMEOUT 0;

 

Шаг 2 Создаем Планировщик (scheduler)
 
vkconfig scheduler --create --config-schema (название схемы) --conf (путь до конфиг файла) --operator (пользователь бд от которого будет выполняться задание) --frame-duration '00:00:30' (время выполнения каждой итерации) --resource-pool (пул)
 
Пример:

vkconfig scheduler --create --config-schema kafka_tst --conf /home/wiki/scheduler.properties --operator wiki --frame-duration '00:00:30' --resource-pool kafka_tst

 

Шаг 3 Создаем Кластер (cluster) кафки
 
vkconfig cluster --create --cluster (название кластера) --hosts (url или ip kafka-cluster):9092(port) --conf (путь до конфиг файла) --config-schema (название схемы)
 
Пример:

vkconfig cluster --create --cluster kafka_tst --hosts 192.168.1.1:9092 --conf /home/wiki/scheduler.properties --config-schema kafka_tst

 

Шаг 4 Создаем источник (source) данных
 
vkconfig source --create --cluster (название кластера) --source (topic в кафке) --partitions (сколько разделов в топике кафки) --conf (путь до конфиг файла) --config-schema (название схемы)
 
Пример:

vkconfig source --create --cluster kafka_tst --source blocks --partitions 1 --conf /home/wiki/scheduler.properties --config-schema kafka_tst

 

Шаг 5 Создаем цель назначения (target)
 
vkconfig target --create --target-schema (схема назначения таблицы импорта) --target-table (название таблицы импорта) --conf (путь до конфиг файла) --config-schema (название схемы)
 
Пример:

vkconfig target --create --target-schema kafka_test --target-table blocks_test --conf /home/wiki/scheduler.properties --config-schema kafka_tst

 

Шаг 6 Создаем обработчик данных (load-spec)
 
vkconfig load-spec --create --parser (тип обработчика кафки) --load-spec (название обработчика) --conf (путь до конфиг файла) --load-method DIRECT --config-schema (название схемы)
 
Типы обработчиков:
KafkaAvroParser для данных в Avro формате.
KafkaJSONParser для данных в JSON формате.
KafkaParser загружать данные как строку типа VARCHAR.
 
Пример:

vkconfig load-spec --create --parser KafkaJSONParser --load-spec kafka_tst --conf /home/wiki/scheduler.properties --load-method DIRECT --config-schema kafka_tst

 

Шаг 7 Создаем Microbatch
 
vkconfig microbatch --create --microbatch (название) --target-schema (схема назначения таблицы импорта) --target-table (название таблицы импорта) --add-source (topic в кафке) --add-source-cluster (название кластера) --load-spec (название обработчика) --conf (путь до конфиг файла) --config-schema (название схемы)
 
Пример:

vkconfig microbatch --create --microbatch blocks_test --target-schema kafka_test --target-table blocks_test --add-source blocks --add-source-cluster kafka_tst --load-spec kafka_tst --conf /home/wiki/scheduler.properties --config-schema kafka_tst

 

Шаг 8 Запускаем Планировщик
 
vkconfig launch --conf --conf (путь до конфиг файла) --config-schema (название схемы) &
 
Пример:

vkconfig launch --conf /home/wiki/scheduler.properties --config-schema kafka_tst &

 

Официальное тех. описание с сылками на дополнительные элементы для функций:
https://www.vertica.com/docs/9.1.x/HTML/index.htm#Authoring/KafkaIntegrationGuide/Using_Kafka_with_HP_Vertica.htm%3FTocPath%3DIntegrating%2520with%2520Apache%2520Kafka%7CAutomatically%2520Copying%2520Data%2520From%25C2%25A0Kafka%7C_____1

Статьи

Оставить комментарий