Поскольку Spark применяет глобальный водяной знак вместо водяного знака для каждого раздела: водяной знак для следующего пакета определяется, когда задачи в текущем пакете «заканчиваются».Каждый раздел не знает, как определить водяной знак: он знает только о событиях в своем разделе.
Итак, в 12:20 Spark получает 12:21:00 и обрабатывает его, а в конце пакета,Spark собирает метку времени событий и определяет максимальную метку времени и определяет водяной знак для следующей партии - «12:11:00», который будет водяным знаком для партии 12: 25: 00.