Görünüş: (GlobalWindows#assignWindows
içinde oluşturulan) GlobalWindow
bir örneğini kullanarak neden bu örnekteNeden bir GlobalWindow örneği kullanılır? Bu <a href="https://github.com/apache/flink/blob/master/flink-examples/flink-examples-streaming/src/main/java/org/apache/flink/streaming/examples/windowing/SessionWindowing.java" rel="nofollow">example</a> de
// We create sessions for each id with max timeout of 3 time units
DataStream<Tuple3<String, Long, Integer>> aggregated = source
.keyBy(0)
.window(GlobalWindows.create())
.trigger(new SessionTrigger(3L))
.sum(2);
Biri bana açıklayabilir misiniz?
Ben FLINK anladığım kadarıyla olayların tümüa
olayları ilişkilendirilmesi gereken yani denk ilişkilendirmek için Window örneklerini kullanarak çünkü
Window(b)
vb
b
olay için,
a
olay için kendi pencere ie
Window(a)
oluşturulmalıdır gelen herhangi bir olay kimlikleri için gibi görünüyor örneğin
Window(a)
ile. Bu durumda,
Window(a)
ile ilişkili tüm
a
olayları, pencere işlevine geçirilecek ve birlikte işlenecektir (bu örnekte, kimliğe göre gruplandırılmış olay sayısı yani,
a
,
b
, vs.), ancak bu örneği kullanarak görebilirsiniz.
GlobalWindow
'un bir örneği.
https://ci.apache.org/projects/flink/flink-docs-release-1.2/dev/windows.html adresinden, "Bir global pencere asistanı aynı tuşa sahip tüm elemanları aynı şekilde atar tek küresel pencere. ", yani 10 farklı anahtar varsa, 10 farklı global pencere oluşturur? –
Semantik olarak her tuş için farklı bir pencereye sahip olacaksınız. Uygulama bilge, pencere örneği tüm anahtarlarda aynıdır. Bunun nedeni, pencere örneğinin pencere öğelerini benzersiz şekilde tanımlamak için anahtar değere sahip bir bileşik anahtar oluşturmasıdır. –
Bu sadece küresel Windows içindir, değil mi? Zaman Pencereleri için, 10 farklı anahtar, uygulama perspektifinden bile 10 farklı zaman penceresi örneğine sahip olacak, doğru mu? Yanlış olduğumda lütfen beni düzeltin. –