Вставить элементы списка в потоковое воспроизведение - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть список (не статичный), в котором хранятся ключи для потоковой передачи данных.Я хочу разделить эти ключи для исполнителей, чтобы предотвратить дублирование, но не смог найти правильный способ сделать это.

Список:

List<String> keyList =  Arrays.asList("key1", "key2", "key3", "key4", "key5");

У меня три исполнителя на стороне искры зависит от количества разделовпо теме кафка.Поток начинается с foreachPartition, как показано ниже, и я хочу разделить элементы списка по разделам.

Я имею в виду, я хочу обработать данные по ключу (key1, key2) в первом разделе.key3 для второго и key4 и key5 для третьего раздела.

public void consume(JavaInputDStream<ConsumerRecord<String, String>> stream) {


        stream.foreachRDD(rdd ->
                rdd.foreachPartition(partitionOfRecords -> {

                      while (partitionOfRecords.hasNext()) {
                          // streaming....
                      }

                      **do processing for some key after streaming...**
                }
}

Есть ли способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...