我正在尝试在 Spark Structured Streaming 和 Hazelcast Jet 之间映射一些概念,并了解其他主题。
Q1 - 在 Spark 中,每个 Kafka 分区将成为 spark 内部的一个分区,然后它们将由各个任务并行处理。我想我在某处读到 Hazelcast Jet 将合并来自 kafka 的所有消息,而不管 group.id 和主题分区,对吗?
Q2 - 我们如何增加 Jet 程序中的“消费者”数量以增加 kafka 消耗的吞吐量?在 Spark 中,我想我们只需要增加主题分区的数量就可以为新分区分配新的 spark 任务。
Q3 - 如果上面的 Q1 为真,是否可以避免合并和分发 kafka 分区以并行处理?一旦消息已经在 kafka 分区中分组和排序,合并所有消息意味着需要额外的处理来重新分区和再次排序消息。
Q4 - 如何定义每个顶点的数量?我的意思是,在字数统计示例中,我们有分词器和累加器,Jet 将如何决定/划分处理器的数量来创建分词器和累加器的实例?