Return-Path: X-Original-To: apmail-flink-user-archive@minotaur.apache.org Delivered-To: apmail-flink-user-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 93648171ED for ; Tue, 26 Jan 2016 10:16:37 +0000 (UTC) Received: (qmail 45205 invoked by uid 500); 26 Jan 2016 10:16:32 -0000 Delivered-To: apmail-flink-user-archive@flink.apache.org Received: (qmail 45122 invoked by uid 500); 26 Jan 2016 10:16:32 -0000 Mailing-List: contact user-help@flink.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@flink.apache.org Delivered-To: mailing list user@flink.apache.org Received: (qmail 45113 invoked by uid 99); 26 Jan 2016 10:16:32 -0000 Received: from mail-relay.apache.org (HELO mail-relay.apache.org) (140.211.11.15) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 26 Jan 2016 10:16:32 +0000 Received: from mail-wm0-f44.google.com (mail-wm0-f44.google.com [74.125.82.44]) by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id A18F41A003F for ; Tue, 26 Jan 2016 10:16:31 +0000 (UTC) Received: by mail-wm0-f44.google.com with SMTP id n5so121927464wmn.0 for ; Tue, 26 Jan 2016 02:16:31 -0800 (PST) X-Gm-Message-State: AG10YOQHtP0VhiM9Al6/jH2Exz9VfYs6nL7qREmNIOYn4JIdhNWovMbKqCpZ3bFZR3Dzz51CRsQXsrqM+J+N5A== MIME-Version: 1.0 X-Received: by 10.194.185.231 with SMTP id ff7mr25456069wjc.23.1453803390113; Tue, 26 Jan 2016 02:16:30 -0800 (PST) Received: by 10.28.13.209 with HTTP; Tue, 26 Jan 2016 02:16:29 -0800 (PST) In-Reply-To: <8B754047F81D6B4290B9F4CE928333A517A4022A@lhreml503-mbx> References: <8B5EDF0A-0EC6-4714-AE5E-DD5E4FE249A6@apache.org> <70AC190A-7D72-4837-8F94-52685B46A67F@gmail.com> <8B754047F81D6B4290B9F4CE928333A517A4022A@lhreml503-mbx> Date: Tue, 26 Jan 2016 11:16:29 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: maxtime / watermark for GlobaWindow From: Till Rohrmann To: user@flink.apache.org Content-Type: multipart/related; boundary=047d7bb03ebca604ae052a39fa72 --047d7bb03ebca604ae052a39fa72 Content-Type: multipart/alternative; boundary=047d7bb03ebca604ab052a39fa71 --047d7bb03ebca604ab052a39fa71 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Radu, If I=E2=80=99m not mistaken, then it=E2=80=99s not possible with the curren= t GlobalWindow implementation. However, you could extend the GlobalWindow which adds a new field into which the timestamp of the triggering element is stored. This field can then be read from within the WindowFunction to retrieve the latest timestamp. Cheers, Till =E2=80=8B On Mon, Jan 25, 2016 at 8:36 PM, Radu Tudoran wrote: > Hi, > > > > I am using a global window to collect some events. I use a trigger to fir= e > the processing. > > Is there any way to get the time of the event that has triggered the > processing. > > > > I am asking this as the getMaxTime() field of the GlobalWindow returns > MaxLong. > > > > > > The code skeleton is: > > > > stream > > .windowAll(GlobalWindows.create()) > > .trigger( *new* MyTrigger()) > > .*apply*( *new** AllWindowFunction, Tuple1, > GlobalWindow>()* { > > @Override > > *public* *void* *apply(GlobalWindow > arg0,* > > * Iterable< Tuple1, = > > arg1,* > > * Collector> > arg2) **throws** Exception* { > > > > // - get the even timestamp > > > > > > > > } > > }*)* > > > > > > > > Dr. Radu Tudoran > > Research Engineer - Big Data Expert > > IT R&D Division > > > > [image: cid:image007.jpg@01CD52EB.AD060EE0] > > HUAWEI TECHNOLOGIES Duesseldorf GmbH > > European Research Center > > Riesstrasse 25, 80992 M=C3=BCnchen > > > > E-mail: *radu.tudoran@huawei.com * > > Mobile: +49 15209084330 > > Telephone: +49 891588344173 > > > > HUAWEI TECHNOLOGIES Duesseldorf GmbH > Hansaallee 205, 40549 D=C3=BCsseldorf, Germany, www.huawei.com > Registered Office: D=C3=BCsseldorf, Register Court D=C3=BCsseldorf, HRB 5= 6063, > Managing Director: Bo PENG, Wanzhou MENG, Lifang CHEN > Sitz der Gesellschaft: D=C3=BCsseldorf, Amtsgericht D=C3=BCsseldorf, HRB = 56063, > Gesch=C3=A4ftsf=C3=BChrer: Bo PENG, Wanzhou MENG, Lifang CHEN > > This e-mail and its attachments contain confidential information from > HUAWEI, which is intended only for the person or entity whose address is > listed above. Any use of the information contained herein in any way > (including, but not limited to, total or partial disclosure, reproduction= , > or dissemination) by persons other than the intended recipient(s) is > prohibited. If you receive this e-mail in error, please notify the sender > by phone or email immediately and delete it! > > > --047d7bb03ebca604ab052a39fa71 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

Hi Radu,

If I=E2=80=99m not mistaken, th= en it=E2=80=99s not possible with the current GlobalWindow= implementation. However, you could extend the Glob= alWindow which adds a new field into which the timestamp of the trig= gering element is stored. This field can then be read from within the WindowFunction to retrieve the latest timestamp.

Cheers,
Till

=E2=80=8B

On Mon, Jan 25, 2016 at 8:36 PM, R= adu Tudoran <radu.tudoran@huawei.com> wrote:

Hi,<= /p>

=C2=A0

I am using a global windo= w to collect some events. I use a trigger to fire the processing.

Is there any way to get t= he time of the event that has triggered the processing.

=C2=A0

I am asking this as the g= etMaxTime() field of the GlobalWindow returns MaxLong.=

=C2=A0

=C2=A0

The code skeleton is:<= /u>

=C2=A0

stream

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 .windowAll(GlobalWindows.create())

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 .trigger( new MyTrigger())

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 .apply( new AllWindowFunction<Tuple1<Long>, Tuple1<Long&= gt;, GlobalWindow>() {

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 = @O= verride=

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 public void apply(GlobalWindow arg0,

=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Iterable< Tuple1<Long>, > arg1,<= /span><= /u>

=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Collector<Tuple1<Long>> arg2) throws Exception {

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0

// - ge= t the even timestamp

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0

=C2=A0

=C2=A0

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 }

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 })=

=C2=A0

=C2=A0

=C2=A0

Dr. Radu Tudoran

Research Engineer - Big Da= ta Expert

IT R&D Division=

=C2=A0

3D"cid:image007.jpg@=

HUAWEI TECHNOL= OGIES Duesseldorf GmbH

European Resea= rch Center

Riesstrasse 25= , 80992 M=C3=BCnchen=

=C2=A0

E-mail: radu.tudoran@huawei.com

Mobile: += 49 15209084330

Telephone: +49 891588344173

=C2=A0<= u>

HUAWEI TECHNOLOGIES Duesseldorf GmbH
Hansaallee 205, 40549 D=C3=BCsseldorf, Germany,
www.h= uawei.com
Registered Office: D=C3=BCsseldorf, Register Co= urt D=C3=BCsseldorf, HRB 56063,
Managing Director: Bo PENG, Wanzhou MENG, Lifang CHEN
Sitz der Gesellschaft: D=C3=BCsseldorf, Amtsgericht D=C3=BCsseldorf, HRB 56= 063,
Gesch=C3=A4ftsf=C3=BChrer: Bo PENG, Wanzhou MENG, Lifang CHEN

This e-mail and its attachments= contain confidential information from HUAWEI, which is intended only for t= he person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited= to, total or partial disclosure, reproduction, or dissemination) by person= s other than the intended recipient(s) is prohibited. If you receive this e= -mail in error, please notify the sender by phone or email immediately and delete it!

=C2=A0


--047d7bb03ebca604ab052a39fa71-- --047d7bb03ebca604ae052a39fa72 Content-Type: image/png; name="image001.png" Content-Disposition: inline; filename="image001.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: 59cca552f17cf1c_0.1 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 --047d7bb03ebca604ae052a39fa72--