You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Qihang Zeng (Jira)" <ji...@apache.org> on 2022/01/12 04:17:00 UTC
[jira] [Comment Edited] (BEAM-9543) BeamSQL Pattern Recognization Functionality
[ https://issues.apache.org/jira/browse/BEAM-9543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17474217#comment-17474217 ]
Qihang Zeng edited comment on BEAM-9543 at 1/12/22, 4:16 AM:
-------------------------------------------------------------
This feature is only *partially* supported due to the time limit for Google Summer of Code 2020. A better way to realize the full functionality would be constructing a Complex Event Processing library for Beam as indicated by BEAM-3767.
was (Author: qzmark):
This feature is only *partially* supported due to the time limit for Google Summer of Code 2020. A better way to realize the full functionality would be constructing a Complex Event Processing library for Beam as indicated by [link BEAM-3767|https://issues.apache.org/jira/browse/BEAM-3767].
> 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
> Priority: P3
> Labels: gsoc, gsoc2020, mentor
> Time Spent: 3h 20m
> Remaining Estimate: 0h
>
> 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.20.1#820001)