Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-10972

Enhancements to Flink Table API

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.9.0
    • Fix Version/s: 1.9.0
    • Component/s: Table SQL / API
    • Labels:
      None

      Description

      link titleWith 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

       

      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

       

       

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                sunjincheng121 sunjincheng
                Reporter:
                sunjincheng121 sunjincheng
              • Votes:
                0 Vote for this issue
                Watchers:
                9 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 3h 20m
                  3h 20m