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

Add MAP_ENTRIES support in SQL & Table API

    XMLWordPrintableJSON

Details

    Description

      Implement the map_entries method to transform a map into an array of key-value structs.

      Description: The current implementation of the map_entries method in the Flink library does not provide a way to transform a map into an array of key-value structs. This enhancement aims to add this functionality, allowing users to convert a map into a more structured format for further processing.

      Syntax:

       

       
      
      map_entries[map: Map[K, V]] -> Array[Struct<K, V>] 

      Arguments:

      • map: The input map to be transformed.

      Returns: An array of key-value structs obtained from the input map. Each struct consists of two fields: key of type K and value of type V.

      Examples:

      1. Transforming a map into key-value structs:

       
       

      input_map = [1: 'apple', 2: 'banana', 3: 'cherry'] 
       map_entries[input_map] 
       Output: [{'key': 1, 'value': 'apple'}, {'key': 2, 'value': 'banana'}, {'key': 3, 'value': 'cherry'}]
      1. Handling an empty map:
      empty_map = {} 
      map_entries[empty_map]
      Output: []

      See also:

      spark:https://spark.apache.org/docs/latest/api/sql/index.html#map_entries

      Attachments

        Issue Links

          Activity

            People

              hanyuzheng Hanyu Zheng
              bvarghese Bonnie Varghese
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: