flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ramkrishna.s.vasudevan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-3674) Add an interface for EventTime aware User Function
Date Sat, 30 Jul 2016 03:45:20 GMT

    [ https://issues.apache.org/jira/browse/FLINK-3674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15400422#comment-15400422

ramkrishna.s.vasudevan commented on FLINK-3674:

Thanks for the comments/feedback. 
I could see that the initial thought was to just expose some interface so that UDFs can implement
them and get a call back onWaterMark. LAter Timer based interface was talked about.

So my initial thought was to just do the changes so that Timer is exposed as an interface
based on EventTimeFunction. The idea was not to make this PR as a final one but to bring in
the discussion. If the practice in FLINK is to make design doc based discussions I can ensure
that for such PRs i will first add a doc and then PR. This happened to another PR also. So
I will learn better and change my methodology. 
bq.Right now, WindowOperator has a custom implementation of this. This should be taken as
the basis for a generic implementation than can then also be exposed to users.
My thought of exposing the Timer as a first step and then build it based on feedback was because
of this. Since the Timer in WindowOperator is custom one I thought first converting it to
an interface would help to add on and see what can we do to make it generic.

> Add an interface for EventTime aware User Function
> --------------------------------------------------
>                 Key: FLINK-3674
>                 URL: https://issues.apache.org/jira/browse/FLINK-3674
>             Project: Flink
>          Issue Type: New Feature
>          Components: Streaming
>    Affects Versions: 1.0.0
>            Reporter: Stephan Ewen
>            Assignee: ramkrishna.s.vasudevan
> I suggest to add an interface that UDFs can implement, which will let them be notified
upon watermark updates.
> Example usage:
> {code}
> public interface EventTimeFunction {
>     void onWatermark(Watermark watermark);
> }
> public class MyMapper implements MapFunction<String, String>, EventTimeFunction
>     private long currentEventTime = Long.MIN_VALUE;
>     public String map(String value) {
>         return value + " @ " + currentEventTime;
>     }
>     public void onWatermark(Watermark watermark) {
>         currentEventTime = watermark.getTimestamp();
>     }
> }
> {code}

This message was sent by Atlassian JIRA

View raw message