[
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
(v6.3.4#6332)