У меня одно недоразумение по поводу документов Spark Structured Streaming.Я прочитал это много раз.https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html
Здесь написано:
"Для определенного окна, запускаемого в момент времени T, двигатель будет поддерживать состояние и позволять поздним данным обновлять состояние до (максимальное время события, видимоедвигатель - поздний порог> Т). "
Это означает, что T - это начало окна, в каком состоянии, если оно поддерживается, я прав?
Т.е. когда это условие (максимальное время события, видимое двигателем - поздний порог> T) начнет удовлетворяться, окно, начинающееся с T, больше не будет обновляться.
watermark = максимальное время события, видимоеEngine - поздний порог.
Но позже мы можем увидеть случаи использования, когда T кажется концом этого окна.
"Однако, когда водяной знак обновляется до 12:11, промежуточное состояние для окна (12:00 - 12:10) очищается и все последующие данные (например, (12:04,осел)) считается «слишком поздно» и поэтому игнорируется. Обратите внимание, что после каждого триггера обновленные значения (т. е. фиолетовые строки) записываются в сток в качестве выходного сигнала триггера, как диктуется режимом обновления ».
Поэтому мы прекращаем обновление окна, потому что wm> 12:10 (конец окна), а не 12:00 (начало окна), верно?и T должен быть в конце окна?