Как заставить планировщик Vertica-Kafka работать с реестром схемы Avro? - PullRequest
1 голос
/ 25 мая 2019

как настроить планировщик Vertica для использования данных Avro из Kafka

Привет! Я пытаюсь использовать планировщик Vertica для получения данных Avro из раздела Kafka.Я написал небольшой код Java, который создает простые объекты в виде данных Avro в Kafka.Я также вставил схему в kafka-schema-registry и вижу ее в браузере.Я пытаюсь настроить планировщик Vertica, все команды передаются без ошибок.Я также запустил микропакет, но таблица пуста, и мой планировщик сначала не использует данные из раздела Kafka. Я настроил файл conf с именем schduler.properties:

config-schema=person100_sched username=dbadmin dbhost=10.50.50.16 dbport=5433

, чемВ Vertica DB я создал пул ресурсов

CREATE RESOURCE POOL person100_pool MEMORYSIZE '10%' PLANNEDCONCURRENCY 1 QUEUETIMEOUT 0;

, следующий шаг - создание планировщика:

sudo ./vkconfig scheduler --create --operator dbadmin --frame-duration '00:00:02' --resource-pool person100_pool --conf scheduler.properties

Мой следующий шаг:создать кластер

sudo ./vkconfig cluster --create --cluster person100_cluster --hosts kafka:9092 --conf scheduler.properties

Мой следующий шаг - создать источник:

sudo ./vkconfig source --create --cluster person100_cluster --source person-avro --partitions 1 --conf scheduler.properties

Мой следующий шаг - создание целевой таблицы:

sudo ./vkconfig target --create --target-schema public --target-table person100 --conf scheduler.properties

  • Затем я создал таблицу в Vertica с теми же типами, что и схема Person

Мой следующий шаг - создать AvroParser

sudo ./vkconfig load-spec --create --parser KafkaAvroParser --load-spec person_load --conf scheduler.properties

Мой следующий шаг - создание микропакета

sudo ./vkconfig microbatch --create --microbatch personBatch --target-schema public --target-table person100 --load-spec person_load --add-source person-avro --add-source-cluster person100_cluster --conf scheduler.properties

Мой следующий шаг - запуск микропакета

sudo ./vkconfig launch --conf scheduler.properties

похоже, все идет хорошо, но стол пуст

1 Ответ

0 голосов
/ 26 мая 2019

При создании load-spec необходимо указать параметры реестра схемы, которые Vertica будет использовать для анализа сообщений Avro.

--parser-parameters "schema_registry_url='schema-registry:8081',schema_registry_subject='somesubject',schema_registry_version='1',flatten_arrays=TRUE,flatten_maps=TRUE,flatten_records=TRUE"

Вместо schema-registry:8081 и somesubject используйте ту же информацию, которую вы использовали для подключения к реестру схемы в вашем браузере.

Примечание: Если таблица person100 не является гибкой таблицей, вам необходимо будет добавить flatten_arrays=TRUE,flatten_maps=TRUE,flatten_records=TRUE в дополнение к информации реестра схемы.

Полная команда для создания спецификации загрузки должна выглядеть примерно так:

sudo ./vkconfig load-spec --create --parser KafkaAvroParser --load-spec person_load --parser-parameters "schema_registry_url='schema-registry:8081',schema_registry_subject='somesubject',schema_registry_version='1',flatten_arrays=TRUE,flatten_maps=TRUE,flatten_records=TRUE" --conf scheduler.properties
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...