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

ASF GitHub Bot commented on FLINK-8560:
---------------------------------------

Github user pnowojski commented on a diff in the pull request:

    https://github.com/apache/flink/pull/5481#discussion_r169573342
  
    --- Diff: 
flink-streaming-java/src/main/java/org/apache/flink/streaming/api/datastream/DataStream.java
 ---
    @@ -654,6 +648,63 @@ public ExecutionConfig getExecutionConfig() {
                return transform("Process", outputType, operator);
        }
     
    +   /**
    +    * Applies the given {@link KeyedProcessFunction} on the input stream, 
thereby creating a transformed output stream.
    +    *
    +    * <p>The function will be called for every element in the input 
streams and can produce zero
    +    * or more output elements.
    +    *
    +    * @param keyedProcessFunction The {@link ProcessFunction} that is 
called for each element in the stream.
    +    *
    +    * @param <K> The type of key in {@code KeyedProcessFunction}.
    +    *
    +    * @param <R> The type of elements emitted by the {@code 
KeyedProcessFunction}.
    +    *
    +    * @return The transformed {@link DataStream}.
    +    */
    +   @PublicEvolving
    +   public <K, R> SingleOutputStreamOperator<R> 
process(KeyedProcessFunction<K, T, R> keyedProcessFunction) {
    --- End diff --
    
    Does it make sense to add `process` with a `KeyedProcessFunction` on non 
keyed `DataStream`?


> add KeyedProcessFunction to expose the key in onTimer() and other methods
> -------------------------------------------------------------------------
>
>                 Key: FLINK-8560
>                 URL: https://issues.apache.org/jira/browse/FLINK-8560
>             Project: Flink
>          Issue Type: Improvement
>          Components: DataStream API
>    Affects Versions: 1.4.0
>            Reporter: Jürgen Thomann
>            Assignee: Bowen Li
>            Priority: Major
>             Fix For: 1.5.0
>
>
> Currently it is required to store the key of a keyBy() in the processElement 
> method to have access to it in the OnTimerContext.
> This is not so good as you have to check in the processElement method for 
> every element if the key is already stored and set it if it's not already set.
> A possible solution would adding OnTimerContext#getCurrentKey() or a similar 
> method. Maybe having it in the open() method could maybe work as well.
> http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Getting-Key-from-keyBy-in-ProcessFunction-tt18126.html



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to