Confluent kafka-connect-s3 один и тот же источник нескольких приемников - PullRequest
0 голосов
/ 03 марта 2020

Я использую Kafka s3 Confluent Connect для копирования данных из apache Kafka в AWS S3. В нашем случае мы хотим скопировать данные из Kafka в несколько сегментов S3.

Одна корзина S3 с такой стратегией разделения -

s3.bucket.name=kafka-s3-test1
partitioner.class=io.confluent.connect.storage.partitioner.TimeBasedPartitioner
timestamp.extractor=Wallclock
locale=US
timezone=UTC
partition.duration.ms=3600000
path.format='ds'=YYYY-MM-dd/'hour'=HH

А другая корзина S3 с такой стратегией разделения -

s3.bucket.name=kafka-s3-test2
partitioner.class=com.custom.CustomFieldPartitioner
partition.field.name= eventPlatform, eventType, eventDate

Один очевидный способ заключается в поддержке 2 разных кластера kafka-connect для каждой из раковин. Мне интересно, есть ли способ отправить одни и те же данные в 2 разных приемника (как этот вариант использования)? И если нет, то как я могу расширить эту библиотеку для реализации того же самого?

Любая помощь здесь будет оценена.

1 Ответ

0 голосов
/ 03 марта 2020

Вам нужен только один кластер. Bucket - это настраиваемое свойство (s3.bucket.name)

Если для доступа к корзинам используются разные учетные данные AWS S3, вам потребуются отдельные Java процессы ( что может привести к отдельным кластерам, но не обязательно)

...