You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "sunjincheng (JIRA)" <ji...@apache.org> on 2019/07/29 12:28:00 UTC

[jira] [Closed] (FLINK-10972) Enhancements to Flink Table API

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

sunjincheng closed FLINK-10972.
-------------------------------
       Resolution: Fixed
    Fix Version/s: 1.9.0

Close this JIRA due to 1.9 almost released. And for the 1.10 we will add the features for the blink planner. And trace the work in FLINK-10972.

> Enhancements to Flink Table API
> -------------------------------
>
>                 Key: FLINK-10972
>                 URL: https://issues.apache.org/jira/browse/FLINK-10972
>             Project: Flink
>          Issue Type: New Feature
>          Components: Table SQL / API
>    Affects Versions: 1.9.0
>            Reporter: sunjincheng
>            Assignee: sunjincheng
>            Priority: Major
>             Fix For: 1.9.0
>
>
> [link title|http://example.com/]With the continuous efforts from the community, the Flink system has been continuously improved, which has attracted more and more users. Flink SQL is a canonical, widely used relational query language. However, there are still some scenarios where Flink SQL failed to meet user needs in terms of functionality and ease of use, such as:
>  * In terms of functionality
> Iteration, user-defined window, user-defined join, user-defined GroupReduce, etc. Users cannot express them with SQL;
>  * In terms of ease of use
>  * Map - e.g. “dataStream.map(mapFun)”. Although “table.select(udf1(), udf2(), udf3()....)” can be used to accomplish the same function., with a map() function returning 100 columns, one has to define or call 100 UDFs when using SQL, which is quite involved.
>  * FlatMap -  e.g. “dataStrem.flatmap(flatMapFun)”. Similarly, it can be implemented with “table.join(udtf).select()”. However, it is obvious that datastream is easier to use than SQL.
> Due to the above two reasons, In this JIRAs group, we will enhance the TableAPI in stages.
> -----------------------
> The first stage we seek to support (will describe the details in the sub issue) :
>  * Table.map()
>  * Table.flatMap()
>  * GroupedTable.aggregate()
>  * GroupedTable.flatAggregate()
> The FLIP can be find here: [FLIP-29|https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=97552739]
>  
> The second part is about column operator/operations:
> 1)   Table(schema) operators
>  * Add columns
>  * Replace columns
>  * Drop columns
>  * Rename columns
> 2)Fine-grained column/row operations
>  * Column selection
>  * Row package and flatten
> See [google doc|https://docs.google.com/document/d/1tryl6swt1K1pw7yvv5pdvFXSxfrBZ3_OkOObymis2ck/edit]
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)