Описание
kafka_fdw - коннектор для обмена данными между Greenplum и Apache Kafka. Он читает сообщения из топиков в SQL-запросах и пишет строки обратно в Kafka, работая параллельно со всех сегментов: каждый сегмент держит свой набор партиций и своё соединение с брокерами.
Коннектор - это обычное расширение Greenplum на C поверх librdkafka. Отдельного сервиса рядом с кластером нет: ни демона, ни очереди заданий, ни промежуточного хранилища. Kafka выглядит для аналитика как внешняя таблица, а работа с ней - как знакомый набор команд CREATE SERVER, CREATE USER MAPPING, CREATE FOREIGN TABLE, SELECT и INSERT.
Офсеты потребителя коннектор хранит в самой Kafka, во внутреннем топике __consumer_offsets, под обычным group.id. Прогресс загрузки видно штатными средствами Kafka (kafka-consumer-groups.sh), и он переживает пересоздание расширения и объектов Greenplum. С версии 1.5 офсеты можно и двигать из SQL: функции kafka.set_offset() и kafka.reset_offsets() заменяют Kafka CLI.
Актуальная версия - 1.5.0 (версия SQL-объектов расширения - 1.5).
Перед началом работы прочитайте страницы по порядку:
- Возможности - что умеет коннектор
- Установка - как получить дистрибутив и поставить его на кластер
- Конфигурация - параметры сервера, таблицы и учётных данных
- Использование - от создания сервера до инкрементальной загрузки и записи
- Обновление - обновление версии на уже работающем кластере