You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Rui Wang (Jira)" <ji...@apache.org> on 2020/05/06 00:08:00 UTC

[jira] [Assigned] (BEAM-9543) BeamSQL Pattern Recognization Functionality

     [ https://issues.apache.org/jira/browse/BEAM-9543?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rui Wang reassigned BEAM-9543:
------------------------------

    Assignee: Qihang Zeng

> BeamSQL Pattern Recognization Functionality
> -------------------------------------------
>
>                 Key: BEAM-9543
>                 URL: https://issues.apache.org/jira/browse/BEAM-9543
>             Project: Beam
>          Issue Type: New Feature
>          Components: dsl-sql
>            Reporter: Rui Wang
>            Assignee: Qihang Zeng
>            Priority: Major
>              Labels: gsoc, gsoc2020, mentor
>
> The goal of this Jira is to support the following syntax in BeamSQL:
> {code:sql}
> SELECT T.aid, T.bid, T.cid
> FROM MyTable
>     MATCH_RECOGNIZE (
>       PARTITION BY userid
>       ORDER BY proctime
>       MEASURES
>         A.id AS aid,
>         B.id AS bid,
>         C.id AS cid
>       PATTERN (A B C)
>       DEFINE
>         A AS name = 'a',
>         B AS name = 'b',
>         C AS name = 'c'
>     ) AS T
> {code}
> match_recognize is in SQL standard 2016. Currently Calcite also supports it. A good reference to match_recognize is [1]
> This will requires touch core components of BeamSQL:
> 1. SQL parser to support the syntax above.
> 2. SQL core to implement physical relational operator.
> 3. Distributed algorithms to implement a list of functions in a distributed manner.
> other references:
> Calcite match_recognize syntax [2]
> [1]: https://ci.apache.org/projects/flink/flink-docs-stable/dev/table/streaming/match_recognize.html
> [2]: https://calcite.apache.org/docs/reference.html#syntax-1



--
This message was sent by Atlassian Jira
(v8.3.4#803005)