Шаг 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
Оставить комментарий