Описание

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).

Перед началом работы прочитайте страницы по порядку: