flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-7169) Support AFTER MATCH SKIP function in CEP library API
Date Tue, 25 Jul 2017 13:31:04 GMT

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

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

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

    https://github.com/apache/flink/pull/4331#discussion_r129296465
  
    --- Diff: flink-libraries/flink-cep/src/main/java/org/apache/flink/cep/CEP.java ---
    @@ -36,6 +40,14 @@
     	 * @return Resulting pattern stream
     	 */
     	public static <T> PatternStream<T> pattern(DataStream<T> input, Pattern<T,
?> pattern) {
    -		return new PatternStream<>(input, pattern);
    +		return new PatternStream<>(input, pattern, skipStrategy);
    +	}
    +
    +	/**
    +	 * Set the pattern's skip strategy after match.
    +	 * @param afterMatchSkipStrategy the skip strategy to use.
    +	 */
    +	public static void setAfterMatchSkipStrategy(AfterMatchSkipStrategy afterMatchSkipStrategy)
{
    --- End diff --
    
    As @dianfu said in the corresponding JIRA, the `AfterMatchSkipStrategy` should be part
of the `Pattern` not `PatternStream`.


> Support AFTER MATCH SKIP function in CEP library API
> ----------------------------------------------------
>
>                 Key: FLINK-7169
>                 URL: https://issues.apache.org/jira/browse/FLINK-7169
>             Project: Flink
>          Issue Type: Sub-task
>          Components: CEP
>            Reporter: Yueting Chen
>            Assignee: Yueting Chen
>
> In order to support Oracle's MATCH_RECOGNIZE on top of the CEP library, we need to support
AFTER MATCH SKIP function in CEP API.
> There're four options in AFTER MATCH SKIP, listed as follows:
> 1. AFTER MATCH SKIP TO NEXT ROW: resume pattern matching at the row after the first row
of the current match.
> 2. AFTER MATCH SKIP PAST LAST ROW: resume pattern matching at the next row after the
last row of the current match.
> 3. AFTER MATCH SKIP TO FIST *RPV*: resume pattern matching at the first row that is mapped
to the row pattern variable RPV.
> 4. AFTER MATCH SKIP TO LAST *RPV*: resume pattern matching at the last row that is mapped
to the row pattern variable RPV.
> I think we can introduce a new function to `CEP` class, which takes a new parameter as
AfterMatchSKipStrategy.
> The new API may looks like this
> {code}
> public static <T> PatternStream<T> pattern(DataStream<T> input, Pattern<T,
?> pattern, AfterMatchSkipStrategy afterMatchSkipStrategy) 
> {code}
> We can also make `SKIP TO NEXT ROW` as the default option, because that's what CEP library
behaves currently.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message