在分区内,是否按顺序对每个项目进行喷射处理,和/或是否有设置以此方式进行配置?
由于 香农
答案 0 :(得分:2)
每个源处理器按顺序处理一个外部分区中的项目。例如,每个Kafka分区都分配给单个处理器实例,处理器按顺序发送数据。
但是,如果下游处理器从多个上游处理器获取项目,则未指定顺序。但是,来自一个上游处理器的项目永远不能重新排序。
示例:让我们有两个顶点, A 和 B 。 A 有两个实例: A1 , A2 ; B 只有一个实例 B1 。如果 A1 发出项 I1 和 I2 且 A2 发出 I3 和 I4 , B1 可以按任何顺序接收它们,但在 I1 或 I4之前它永远不能接收 I2 / em>在 I3 之前。例如 I3 , I1 , I2 , I4 是可能的顺序,但是 I2 , I1 , I3 , I4 不是。
在这些情况下,将保留两个顶点之间的顺序:
Edge.isolated()
。请注意,在这些情况下,下游处理器始终有一个上游处理器。
另请查看此图片(摘自here)。两个 Tokenize 圈是 Tokenize 顶点的两个处理器实例。