Hi,

Yes, those last two comments about the watermark and window triggering are 
correct. The watermark either has to advance based on events or based on some 
continuous generation.

Best,
Aljoscha

> On 13. Dec 2017, at 06:08, Jinhua Luo <luajit...@gmail.com> wrote:
> 
> Unless I generate event-time watermark continuously regardless of elements?
> 
> Just like the doc does, it gives an example how to generate continuous
> watermark based on processing time (TimeLagWatermarkGenerator):
> https://ci.apache.org/projects/flink/flink-docs-release-1.3/dev/event_timestamps_watermarks.html#with-periodic-watermarks
> 
> But if I use pre-defined event-time watermark generators which are
> purely based on elements, then what I worried in my last mail is true?
> https://ci.apache.org/projects/flink/flink-docs-release-1.3/dev/event_timestamp_extractors.html
> 
> 
> 
> 2017-12-13 12:48 GMT+08:00 Jinhua Luo <luajit...@gmail.com>:
>> If the window contains only one element, no more elements come in,
>> then by default (with EventTimeTrigger), the window would be fired by
>> next element if that element advances watermark which passes the end
>> of the window, correct?
>> That is, even if the window ends at 12:30, then if no more element
>> come in and advance watermark through 12:30, the window would not be
>> fired; if the next element appears at 13:30, then the window would be
>> fired, although it has been delayed for 1 hour, correct?
>> 
>> 2017-12-12 16:53 GMT+08:00 Fabian Hueske <fhue...@gmail.com>:
>>> No, that's exactly what is mean by "a window is created when the first
>>> element arrives".
>>> Otherwise, you'd have to fire empty windows for all possible keys (in case
>>> of a window operator on a keyed stream) which is obviously not possible.
>>> 
>>> 2017-12-12 9:30 GMT+01:00 Jinhua Luo <luajit...@gmail.com>:
>>>> 
>>>> OK, I see.
>>>> 
>>>> But what if a window contains no elements? Is it still get fired and
>>>> invoke the window function?
>>>> 
>>>> 2017-12-12 15:42 GMT+08:00 Fabian Hueske <fhue...@gmail.com>:
>>>>> Hi,
>>>>> 
>>>>> this depends on the window type. Tumbling and Sliding Windows are (by
>>>>> default) aligned with the epoch time (1970-01-01 00:00:00).
>>>>> For example a tumbling window of 2 hour starts and ends every two hours,
>>>>> i.e., from 12:00:00 to 13:59:59.999, from 14:00:00 to 15:59:59.999, etc.
>>>>> 
>>>>> The documentation says a window is created when an element arrives. This
>>>>> does not imply that the start time of the window is the time of the
>>>>> first
>>>>> element.
>>>>> So it might happen that the first element of a 2 hour tumbling window
>>>>> arrives at 13:59:59.000 and the window is closed 1 second later.
>>>>> 
>>>>> However, there are also windows for which the first element defines the
>>>>> start time such as the built-in session window.
>>>>> You can also define custom windows like that.
>>>>> 
>>>>> Best, Fabian
>>>>> 
>>>>> 2017-12-12 7:57 GMT+01:00 Jinhua Luo <luajit...@gmail.com>:
>>>>>> 
>>>>>> Hi All,
>>>>>> 
>>>>>> The document said "a window is created as soon as the first element
>>>>>> that should belong to this window arrives, and the window is
>>>>>> completely removed when the time (event or processing time) passes its
>>>>>> end timestamp plus the user-specified allowed lateness (see Allowed
>>>>>> Lateness).".
>>>>>> 
>>>>>> I am still confused.
>>>>>> 
>>>>>> If the window contains only one element (which triggers the window
>>>>>> creation), and no more elements come in during the window size (e.g. 1
>>>>>> minute), then when does the window function get invoked? after 1
>>>>>> minute?
>>>>>> 
>>>>>> I mean, the window would finish either when any element indicates the
>>>>>> watermark is larger than the window size, or, when the processing time
>>>>>> (no matter for event-timed window or process-timed window) pass over
>>>>>> the window size since the first element?
>>>>> 
>>>>> 
>>> 
>>> 

Reply via email to