如果kakfa主题具有多个分区,在Java中,那么许多消费者实例/线程将在消费者端实例化。
如何在火花式的消费方中处理它?我没有找到太多有关相同的信息。相同的任何示例,即在某个主题的火花流消费者处调用多个消费者。
任何有关设计的建议/示例都将非常感谢。
关于, 什米
答案 0 :(得分:2)
如果 Kafka 具有多个分区,则意味着消费者可以通过并行执行特定任务来从中受益。特别是内部的 spark-streaming 可以通过增加num-executors参数来加快工作速度。这与Kafka拥有的分区数量有关,例如,如果您拥有与Spark中的num-executors相同的Kafka分区数量,则例如,理论上所有执行者都可以一次读取所有分区。增加系统吞吐量。
答案 1 :(得分:2)
只要Spark有足够的资源,Spark流总是会从Kafka的所有可用分区中并行读取数据。这是随Spark一起提供的,我们不需要为此编写任何代码。
例如,如果您的Kafka主题具有4个分区,则如果启动 您的火花工作,其中有两个具有2个核心的执行程序,然后是火花工作 将启动4个任务以从4个Kafka并行读取数据 分区。
如果需要更多信息,请随时发表评论。
https://spark.apache.org/docs/2.2.0/streaming-kafka-0-10-integration.html
$