Как распараллелить Spark на Кафку пишет - PullRequest
0 голосов
/ 03 сентября 2018

Производитель Kafka возвращает Java Future (или вы можете использовать обратный вызов) в любом случае, в моей искровой работе я хочу убедиться, что все отправлено правильно и что оно идет быстро.

Использование:

rdd.foreach { msg =>
 kafkaProducer.send(msg).get() //wait for the future to complete
}

не очень хорошо работает.

Я думал об использовании

rdd.repartition(20).foreachPartition { iterator =>
 iterator.foreach { msg =>
 kafkaProducer.send(msg).get()
 }
}

Мой вопрос, однако, будет ли foreachPartition работать параллельно? Трудно увидеть из написанного мною простого теста, поскольку кажется, что содержимое foreachPartition запускается из одного потока. Но я не знаю, зависит ли это от моей настройки теста ...

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