flink icon indicating copy to clipboard operation
flink copied to clipboard

[FLINK-31691][table] Add built-in MAP_FROM_ENTRIES function.

Open liuyongvs opened this issue 5 months ago • 1 comments

  • What is the purpose of the change This is an implementation of MAP_FROM_ENTRIES

  • Brief change log MAP_FROM_ENTRIES for Table API and SQL

map_from_entries(map) - Returns a map created from an arrays of row with two fields. Note that the number of fields in a row array should be 2 and the key of a row array should not be null.

Syntax:
  map_from_entries(array_of_rows)

Arguments:
  array_of_rows: an arrays of row with two fields.

Returns:
  Returns a map created from an arrays of row with two fields. Note that the number of fields in a row array should be 2 and the key of a row array should not be null. Returns null if the argument is null

> SELECT map_from_entries(map[1, 'a', 2, 'b']);
 [(1,"a"),(2,"b")]

See also presto https://prestodb.io/docs/current/functions/map.html

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

  • Verifying this change This change added tests in MapFunctionITCase.

  • Does this pull request potentially affect one of the following parts: Dependencies (does it add or upgrade a dependency): ( no) The public API, i.e., is any changed class annotated with @Public(Evolving): (yes ) The serializers: (no) The runtime per-record code paths (performance sensitive): ( no) Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: ( no) The S3 file system connector: ( no)

  • Documentation Does this pull request introduce a new feature? (yes) If yes, how is the feature documented? (docs)

liuyongvs avatar Jul 10 '25 02:07 liuyongvs

CI report:

  • b299bcd2ae16b0facca40b85c3b155e3cc800af9 Azure: SUCCESS
Bot commands The @flinkbot bot supports the following commands:
  • @flinkbot run azure re-run the last Azure build

flinkbot avatar Jul 10 '25 02:07 flinkbot