[NBP] Gradivo
anon00
Je li nasao netko dobar tutorial za ova prva dva zadatka sa RDF-ovima
sekiro
anon00 preze i tutorial na edgaru
MsBrightside
kako funkcionira allowedLateness?
anon00
MsBrightside To je operator nad Window i predstavlja dopušteno vrijeme nakon watermark-a kad ce uhvatiti neki element, ako prođe watermark i prođe tipa ONE_MINUTE onda sve elemente nakon tog nece uopce uhvatiti
Bar sam ja tako shvatio
EDIT: moguce da je nije nakon watermarka vec nakon zadnjeg elementa? Ili unija to dvoje?
ovo je iz dokumentacije
@Experimental(value=TRIGGER)
public Window<T> withAllowedLateness(Duration allowedLateness,
Window.ClosingBehavior behavior)
Override the amount of lateness allowed for data elements in the pipeline. Like the other properties on this Window operation, this will be applied at the next GroupByKey. Any elements that are later than this as decided by the system-maintained watermark will be dropped.
This value also determines how long state will be kept around for old windows. Once no elements will be added to a window (because this duration has passed) any state associated with the window will be cleaned up.
Svudec
anon00 Mislim da se gleda vrijeme nakon “zatvaranja prozora” tj. kad watermark zatvori prozor.
reygrep
anon00 oprosti nikako ne mogu skuziti koja je razlika izmedu (1 i 3) i (4 i 6) eventa?
zasto se 1 gleda kao early, a 3 kao on time, a nisu kao slucaj (4 i 6) gdje su oba early i zbrajaju se?
Ista stvar me muci kod 5 i 6 zasto ih nismo mogli grupirat
anon00
reygrep
U zadaku imamo .withEarlyFirings(AlignedDelay(ONE_MINUTE))
Sto znaci da kad se dode do nekog elementa (npr 1) i ako je on early (nije u istom trenutku kad i watermark) onda cekaj do PUNE minute odnosno za 1 cekaj do 12:06, za 3 cekaj do 12:07 - ali u 12:07 je watermark pa 3-cu ce pokupiti taj watermark, a ne early
U window 2 prvo dolazimo do 5 koji se emit-a u 12:07 i nakon tog je on zabroavljen zbog ovog
.discardingFiredPanes())
Da je tu stajao onaj
accumulatingAndRetractingFiredPanes
onda bi pamtili taj 5 do sljedeceg elementa (npr 6), a onda bi zbrojili i imali bi 11 i odbacili bi ovu staru vrijednost 5
Sljedeci dolazi 6 i on ceka punu minutu tj 12:08 da se emit-a, ali prije tog nailazi na 4 pa se to zbraja skupa u 10 zbog .apply(Sum.integersPerKey());
Oni se emitaju prije watermarka (zato su early) jer je njihovo vrijeme u 12:08, a watermark je tek nakon tog
Ukratko 1 i 3 su u razlicitim minutama emitani, a 3 je u istoj minuti kao watermark pa je on OnTime
5 je Early
4 i 6 su u istoj minuti pa se zbrajaju i prije watermarka su pa su early (12:08, a watermark je recimo u 12:08:30)