Потребитель flink kafka получает сообщения из указанного раздела c - PullRequest
1 голос
/ 09 июля 2020

Мы хотим добиться параллелизма при чтении сообщения формы kafka. следовательно, мы хотели указать номер раздела во flinkkafkaconsumer. Он будет читать сообщения со всех разделов в kafka вместо указанного c номера раздела. Ниже приведен пример кода:

Properties properties = new Properties();
properties.setProperty("bootstrap.servers", "localhost:9092");
properties.setProperty("zookeeper.connect", "localhost:2181");
properties.setProperty("group.id", "Message-Test-Consumers");
properties.setProperty("partition", "1"); //not sure about this syntax.

FlinkKafkaConsumer<String> kafkaConsumer = new FlinkKafkaConsumer<String>("EventLog", new SimpleStringSchema(), properties);

Пожалуйста, предложите лучший вариант для получения параллелизма.

1 Ответ

0 голосов
/ 11 июля 2020

Я не верю, что существует механизм, ограничивающий, с каких разделов Flink будет читать. Я также не вижу, как это поможет вам достичь вашей цели параллельного чтения из разделов, что Flink делает независимо.

Исходный коннектор Flink Kafka читает из всех доступных разделов параллельно. Просто установите параллелизм коннектора источника kafka на любой желаемый параллелизм, помня, что эффективный параллелизм не может превышать количество разделов. Таким образом, каждый экземпляр исходного коннектора Flink Kafka будет читать из одного или нескольких разделов. Вы также можете настроить потребителя kafka для автоматического обнаружения новых разделов, которые могут быть созданы во время выполнения задания.

...