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

Rui Wang updated BEAM-9543:
---------------------------
    Description: 
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

  was:
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.


[1]: 
https://ci.apache.org/projects/flink/flink-docs-stable/dev/table/streaming/match_recognize.html



> BeamSQL Pattern Recognization Functionality
> -------------------------------------------
>
>                 Key: BEAM-9543
>                 URL: https://issues.apache.org/jira/browse/BEAM-9543
>             Project: Beam
>          Issue Type: Task
>          Components: dsl-sql
>            Reporter: Rui Wang
>            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)

Reply via email to