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

Rui Wang edited comment on BEAM-9198 at 2/18/20 11:03 PM:
----------------------------------------------------------

There are many analytic functions, I will suggest to start from one single 
function, e.g. rank(), but aim at supporting the full functional syntax first:


{code:sql}
analytic_function_name ( [ argument_list ] )
  OVER (
    [ PARTITION BY partition_expression_list ]
    [ ORDER BY expression [{ ASC | DESC }] [, ...] ]
    [ window_frame_clause ]
  )
{code}

By doing so you will be able to touch many concepts in distributed computing. 
E.g. per key computing, sorting, etc. and SQL, e.g. parser planner, etc.



was (Author: amaliujia):
There are many analytic functions, I will suggest to start from one single 
function, e.g. rank(), but aim at supporting the full functional syntax first:


{code:sql}
analytic_function_name ( [ argument_list ] )
  OVER (
    [ PARTITION BY partition_expression_list ]
    [ ORDER BY expression [{ ASC | DESC }] [, ...] ]
    [ window_frame_clause ]
  )
{code}

By doing so you will be able to touch many concepts in distributed computing. 
E.g. per key computing, sorting, etc.


> BeamSQL aggregation analytics functions 
> ----------------------------------------
>
>                 Key: BEAM-9198
>                 URL: https://issues.apache.org/jira/browse/BEAM-9198
>             Project: Beam
>          Issue Type: Task
>          Components: dsl-sql
>            Reporter: Rui Wang
>            Priority: Major
>              Labels: gsoc, gsoc2020, mentor
>
> BeamSQL has a long list of of aggregation/aggregation analytics 
> functionalities to support. 
> To begin with, you will need to support this syntax:
> {code:sql}
> analytic_function_name ( [ argument_list ] )
>   OVER (
>     [ PARTITION BY partition_expression_list ]
>     [ ORDER BY expression [{ ASC | DESC }] [, ...] ]
>     [ window_frame_clause ]
>   )
> {code}
> 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. 
> 4. Build benchmarks to measure performance of your implementation.



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

Reply via email to