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)